diff --git a/apps/studio/components/interfaces/Settings/Integrations/GithubIntegration/GithubSection.tsx b/apps/studio/components/interfaces/Settings/Integrations/GithubIntegration/GithubSection.tsx index 36256f769ef..f832b2782e1 100644 --- a/apps/studio/components/interfaces/Settings/Integrations/GithubIntegration/GithubSection.tsx +++ b/apps/studio/components/interfaces/Settings/Integrations/GithubIntegration/GithubSection.tsx @@ -3,10 +3,13 @@ import { useMemo } from 'react' import { useParams } from 'common' import { - ScaffoldContainer, + ScaffoldDescription, ScaffoldSection, ScaffoldSectionContent, + ScaffoldSectionDescription, ScaffoldSectionDetail, + ScaffoldSectionTitle, + ScaffoldTitle, } from 'components/layouts/Scaffold' import NoPermission from 'components/ui/NoPermission' import UpgradeToPro from 'components/ui/UpgradeToPro' @@ -21,7 +24,7 @@ import GitHubIntegrationConnectionForm from './GitHubIntegrationConnectionForm' const IntegrationImageHandler = ({ title }: { title: 'vercel' | 'github' }) => { return ( {`${title} @@ -51,44 +54,40 @@ const GitHubSection = () => { const GitHubTitle = `GitHub Integration` return ( - - - -

Connect any of your GitHub repositories to a project.

- -
- - {isLoadingPermissions ? ( - - ) : !canReadGitHubConnection ? ( - - ) : ( -
-
-
How does the GitHub integration work?
-

- Connecting to GitHub allows you to sync preview branches with a chosen GitHub - branch, keep your production branch in sync, and automatically create preview - branches for every pull request. -

- {promptProPlanUpgrade && ( -
- -
- )} -
- -
+ +
+ +
+ {GitHubTitle} + + Connect your GitHub repositories to sync preview branches, keep production in sync, and + automatically create preview branches for pull requests. + +
+
+
+ {isLoadingPermissions ? ( + + ) : !canReadGitHubConnection ? ( + + ) : ( +
+ {promptProPlanUpgrade && ( +
+
+ )} +
+
- )} - - - +
+ )} +
+
) } diff --git a/apps/studio/components/interfaces/Settings/Integrations/IntegrationsSettings.tsx b/apps/studio/components/interfaces/Settings/Integrations/IntegrationsSettings.tsx index 2533fdfdf1d..b32e2188d49 100644 --- a/apps/studio/components/interfaces/Settings/Integrations/IntegrationsSettings.tsx +++ b/apps/studio/components/interfaces/Settings/Integrations/IntegrationsSettings.tsx @@ -1,7 +1,7 @@ import Link from 'next/link' import SidePanelVercelProjectLinker from 'components/interfaces/Organization/IntegrationSettings/SidePanelVercelProjectLinker' -import { ScaffoldContainer, ScaffoldDivider } from 'components/layouts/Scaffold' +import { ScaffoldDivider, ScaffoldSection } from 'components/layouts/Scaffold' import { useIsFeatureEnabled } from 'hooks/misc/useIsFeatureEnabled' import { useProjectByRefQuery, useSelectedProjectQuery } from 'hooks/misc/useSelectedProject' import { BASE_PATH } from 'lib/constants' @@ -12,7 +12,7 @@ import VercelSection from './VercelIntegration/VercelSection' export const IntegrationImageHandler = ({ title }: { title: 'vercel' | 'github' }) => { return ( {`${title} @@ -29,7 +29,7 @@ const IntegrationSettings = () => { return ( <> {isBranch && ( - + @@ -43,12 +43,11 @@ const IntegrationSettings = () => { . - + )} {showVercelIntegration && ( <> - diff --git a/apps/studio/components/interfaces/Settings/Integrations/VercelIntegration/VercelSection.tsx b/apps/studio/components/interfaces/Settings/Integrations/VercelIntegration/VercelSection.tsx index 94b1230f34c..4499f47e9a6 100644 --- a/apps/studio/components/interfaces/Settings/Integrations/VercelIntegration/VercelSection.tsx +++ b/apps/studio/components/interfaces/Settings/Integrations/VercelIntegration/VercelSection.tsx @@ -12,10 +12,9 @@ import { } from 'components/interfaces/Integrations/VercelGithub/IntegrationPanels' import { Markdown } from 'components/interfaces/Markdown' import { - ScaffoldContainer, ScaffoldSection, - ScaffoldSectionContent, - ScaffoldSectionDetail, + ScaffoldSectionTitle, + ScaffoldSectionDescription, } from 'components/layouts/Scaffold' import NoPermission from 'components/ui/NoPermission' import { GenericSkeletonLoader } from 'components/ui/ShimmeringLoader' @@ -32,7 +31,7 @@ import { useSelectedProjectQuery } from 'hooks/misc/useSelectedProject' import { pluralize } from 'lib/helpers' import { getIntegrationConfigurationUrl } from 'lib/integration-utils' import { useSidePanelsStateSnapshot } from 'state/side-panels' -import { Button, cn } from 'ui' +import { Button, Card, CardContent, cn } from 'ui' import { IntegrationImageHandler } from '../IntegrationsSettings' import VercelIntegrationConnectionForm from './VercelIntegrationConnectionForm' @@ -114,22 +113,9 @@ const VercelSection = ({ isProjectScoped }: { isProjectScoped: boolean }) => { [deleteVercelConnection, org?.slug] ) - // Markdown Content + // Section title const VercelTitle = `Vercel Integration` - const VercelDetailsSection = ` - -Connect your Vercel teams to your Supabase organization. -` - - const VercelContentSectionTop = ` - -### How does the Vercel integration work? - -Supabase will keep your environment variables up to date in each of the projects you assign to a Supabase project. -You can also link multiple Vercel Projects to the same Supabase project. -` - const VercelContentSectionBottom = vercelProjectCount > 0 && vercelIntegration !== undefined ? ` @@ -159,103 +145,109 @@ You can change the scope of the access for Supabase by configuring )} ` return ( - - - - - - - - {isLoadingPermissions ? ( - - ) : !canReadVercelConnection ? ( - - ) : ( - <> - - {vercelIntegration ? ( -
- - {connections.length > 0 ? ( - <> - -
    - {connections.map((connection) => ( -
    li]:pb-0' - )} - > - - {isProjectScoped ? ( -
    -
    - -
    -
    - ) : null} -
    - ))} -
- - ) : ( + +
+ +
+ {VercelTitle} + + Connect your Vercel team to keep environment variables in sync across linked projects, + and link multiple Vercel projects to the same Supabase project. + +
+
+
+ {isLoadingPermissions ? ( + + ) : !canReadVercelConnection ? ( + + ) : ( + <> + {vercelIntegration ? ( +
+ + {connections.length > 0 ? ( + <> - )} - onAddVercelConnection(vercelIntegration.id)} - > - Add new project connection - -
- ) : ( -
-
+ ) : ( + + +

Install Vercel Integration

+

+ Connect your Vercel account to link projects and sync environment variables. +

+ {isBranch ? ( + + ) : ( + -
- )} - {VercelContentSectionBottom && ( - - )} - - )} - -
- + + )} + + + )} + {VercelContentSectionBottom && ( + + )} + + )} +
+
) } diff --git a/apps/studio/pages/project/[ref]/settings/integrations.tsx b/apps/studio/pages/project/[ref]/settings/integrations.tsx index e6aa44922ea..d00a0b17a29 100644 --- a/apps/studio/pages/project/[ref]/settings/integrations.tsx +++ b/apps/studio/pages/project/[ref]/settings/integrations.tsx @@ -1,31 +1,23 @@ import IntegrationSettings from 'components/interfaces/Settings/Integrations/IntegrationsSettings' import DefaultLayout from 'components/layouts/DefaultLayout' import SettingsLayout from 'components/layouts/ProjectSettingsLayout/SettingsLayout' -import { - ScaffoldContainer, - ScaffoldDivider, - ScaffoldHeader, - ScaffoldTitle, -} from 'components/layouts/Scaffold' +import { PageLayout } from 'components/layouts/PageLayout/PageLayout' +import { ScaffoldContainer } from 'components/layouts/Scaffold' import type { NextPageWithLayout } from 'types' const OrgIntegrationSettings: NextPageWithLayout = () => { return ( - <> - - - Integrations - - - + - + ) } OrgIntegrationSettings.getLayout = (page) => ( - {page} + + {page} + ) export default OrgIntegrationSettings