+
diff --git a/apps/studio/pages/integrations/vercel/[slug]/deploy-button/new-project.tsx b/apps/studio/pages/integrations/vercel/[slug]/deploy-button/new-project.tsx
index 2e1f3b8d277..02e1c050ab2 100644
--- a/apps/studio/pages/integrations/vercel/[slug]/deploy-button/new-project.tsx
+++ b/apps/studio/pages/integrations/vercel/[slug]/deploy-button/new-project.tsx
@@ -1,19 +1,29 @@
import { useParams } from 'common'
+import Head from 'next/head'
import { useEffect, useState } from 'react'
-import { Admonition } from 'ui-patterns/admonition'
import { isVercelUrl } from '@/components/interfaces/Integrations/Vercel/VercelIntegration.utils'
+import {
+ VercelIntegrationFooter,
+ VercelIntegrationLogo,
+} from '@/components/interfaces/Integrations/Vercel/VercelIntegrationInterstitial'
import { ProjectCreationForm } from '@/components/interfaces/ProjectCreation/ProjectCreationForm'
-import VercelIntegrationWindowLayout from '@/components/layouts/IntegrationsLayout/VercelIntegrationWindowLayout'
-import { ScaffoldColumn, ScaffoldContainer } from '@/components/layouts/Scaffold'
+import { InterstitialLayout } from '@/components/layouts/InterstitialLayout'
import { useProjectSettingsV2Query } from '@/data/config/project-settings-v2-query'
import { useIntegrationsQuery } from '@/data/integrations/integrations-query'
import { useIntegrationVercelConnectionsCreateMutation } from '@/data/integrations/integrations-vercel-connections-create-mutation'
import { useVercelProjectsQuery } from '@/data/integrations/integrations-vercel-projects-query'
import { useOrganizationsQuery } from '@/data/organizations/organizations-query'
+import { withAuth } from '@/hooks/misc/withAuth'
+import { buildStudioPageTitle } from '@/lib/page-title'
import { useIntegrationInstallationSnapshot } from '@/state/integration-installation'
import type { NextPageWithLayout } from '@/types'
+const PAGE_TITLE = buildStudioPageTitle({
+ section: 'Create Vercel Project',
+ brand: 'Supabase',
+})
+
const VercelIntegration: NextPageWithLayout = () => {
const { slug, next, currentProjectId: foreignProjectId } = useParams()
const snapshot = useIntegrationInstallationSnapshot()
@@ -91,23 +101,22 @@ const VercelIntegration: NextPageWithLayout = () => {
}, [data, isSuccess])
return (
-
-
-
+ <>
+
+ {PAGE_TITLE}
+
+ }
+ title="Create a new project"
+ description="Your project will have its own dedicated instance and full Postgres database. An API will be set up so you can easily interact with your new database."
+ footer={}
+ widthClassName="max-w-2xl"
+ >
-
-
+
+ >
)
}
-VercelIntegration.getLayout = (page) => (
-
{page}
-)
-
-export default VercelIntegration
+export default withAuth(VercelIntegration)
diff --git a/apps/studio/routes/integrations/vercel.tsx b/apps/studio/routes/integrations/vercel.tsx
index e31fc665ab9..8e9bcd49623 100644
--- a/apps/studio/routes/integrations/vercel.tsx
+++ b/apps/studio/routes/integrations/vercel.tsx
@@ -4,11 +4,9 @@ export const Route = createFileRoute('/integrations/vercel')({
component: VercelIntegrationPassthrough,
})
-// No shared layout here. Since #47623, the install and
-// marketplace/choose-project pages render their own InterstitialLayout and
-// have no Next getLayout, so the Next runtime shows them without any window
-// chrome. Only deploy-button/new-project still uses
-// VercelIntegrationWindowLayout, and its route wraps it at the leaf.
+// No shared layout here. Since #47623, the Vercel install, marketplace
+// choose-project, and deploy-button/new-project pages each render their own
+// InterstitialLayout and have no Next getLayout / window chrome.
function VercelIntegrationPassthrough() {
return
}
diff --git a/apps/studio/routes/integrations/vercel/$slug/deploy-button/new-project.tsx b/apps/studio/routes/integrations/vercel/$slug/deploy-button/new-project.tsx
index 0b09a4cf7e9..11f685c8208 100644
--- a/apps/studio/routes/integrations/vercel/$slug/deploy-button/new-project.tsx
+++ b/apps/studio/routes/integrations/vercel/$slug/deploy-button/new-project.tsx
@@ -1,18 +1,11 @@
import { createFileRoute } from '@tanstack/react-router'
-import VercelIntegrationWindowLayout from '@/components/layouts/IntegrationsLayout/VercelIntegrationWindowLayout'
import VercelIntegration from '@/pages/integrations/vercel/[slug]/deploy-button/new-project'
export const Route = createFileRoute('/integrations/vercel/$slug/deploy-button/new-project')({
component: VercelDeployButtonNewProjectRoute,
})
-// Mirrors the page's Next getLayout, which wraps this leaf (and only this
-// leaf) in VercelIntegrationWindowLayout.
function VercelDeployButtonNewProjectRoute() {
- return (
-
-
-
- )
+ return
}
diff --git a/packages/ui-patterns/src/CollapsibleCardSection.tsx b/packages/ui-patterns/src/CollapsibleCardSection.tsx
index 17e3268a76a..a0d3df4ceb1 100644
--- a/packages/ui-patterns/src/CollapsibleCardSection.tsx
+++ b/packages/ui-patterns/src/CollapsibleCardSection.tsx
@@ -25,7 +25,8 @@ export const CollapsibleCardSection = ({
{description && {description}
}