Skip to content

Commit 73eb4c5

Browse files
authored
feat(webapp): Improve the Integrations page layout (#4379)
## Summary The project Integrations page now uses the same settings layout as the org SSO page: a centered column of titled rows with dividers, instead of headings over bordered boxes. GitHub, Vercel and build settings read as one consistent list, and the page titles itself "Integrations". Confirmations persist rather than vanishing once you move past them (`GitHub app: Installed`, `Vercel project: Connected`), plan-gated rows offer an Upgrade button instead of a dead toggle, a disabled toggle explains why in place and highlights the control that unlocks it, and warnings are rows with a hazard icon and their recovery action on the right. Copy throughout leads with the outcome instead of restating the field label. Two fixes along the way: a nested `<form>` in the Vercel panel that failed hydration and silently truncated the page, and every settings row carrying a few pixels more space above its title than below its description. ### Before <img width="1160" height="1972" alt="CleanShot 2026-07-26 at 21 56 42@2x" src="https://github.com/user-attachments/assets/ed0fd676-36d8-4eb7-a16e-827a24f007d9" /> ### After <img width="1358" height="4455" alt="CleanShot 2026-07-26 at 19 14 28@2x" src="https://github.com/user-attachments/assets/6a635e6a-c0eb-4a4c-a68f-fcde4d25e8a6" />
1 parent d30ee6e commit 73eb4c5

14 files changed

Lines changed: 1351 additions & 848 deletions

File tree

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
export function PadlockRoundedIcon({ className }: { className?: string }) {
2+
return (
3+
<svg
4+
className={className}
5+
width="24"
6+
height="24"
7+
viewBox="0 0 24 24"
8+
fill="none"
9+
xmlns="http://www.w3.org/2000/svg"
10+
>
11+
<path
12+
d="M5 12C5 10.8954 5.89543 10 7 10H17C18.1046 10 19 10.8954 19 12V19C19 20.1046 18.1046 21 17 21H7C5.89543 21 5 20.1046 5 19V12Z"
13+
stroke="currentColor"
14+
strokeWidth="2"
15+
strokeLinecap="round"
16+
strokeLinejoin="round"
17+
/>
18+
<path
19+
d="M16 9.5V7C16 4.79086 14.2091 3 12 3C9.79086 3 8 4.79086 8 7V9.5"
20+
stroke="currentColor"
21+
strokeWidth="2"
22+
strokeLinecap="round"
23+
strokeLinejoin="round"
24+
/>
25+
<path
26+
d="M12 14V17"
27+
stroke="currentColor"
28+
strokeWidth="2"
29+
strokeLinecap="round"
30+
strokeLinejoin="round"
31+
/>
32+
</svg>
33+
);
34+
}

apps/webapp/app/components/BlankStatePanels.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -701,14 +701,12 @@ function DeploymentOnboardingSteps() {
701701
Deploy automatically with every push. Read the{" "}
702702
<TextLink to={docsPath("github-integration")}>full guide</TextLink>.
703703
</Paragraph>
704-
<div className="w-fit">
705-
<GitHubSettingsPanel
706-
organizationSlug={organization.slug}
707-
projectSlug={project.slug}
708-
environmentSlug={environment.slug}
709-
billingPath={v3BillingPath({ slug: organization.slug })}
710-
/>
711-
</div>
704+
<GitHubSettingsPanel
705+
organizationSlug={organization.slug}
706+
projectSlug={project.slug}
707+
environmentSlug={environment.slug}
708+
billingPath={v3BillingPath({ slug: organization.slug })}
709+
/>
712710
</StepContentContainer>
713711
</ClientTabsContent>
714712
<ClientTabsContent value={"cli"}>

0 commit comments

Comments
 (0)