| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- import { Admonition } from 'ui-patterns'
- import { AWSPrivateLinkSection } from './AWSPrivateLink/AWSPrivateLinkSection'
- import { GitHubSection } from './GithubIntegration/GithubSection'
- import { VercelSection } from './VercelIntegration/VercelSection'
- import { SidePanelVercelProjectLinker } from '@/components/interfaces/Organization/IntegrationSettings/SidePanelVercelProjectLinker'
- import { ScaffoldContainer, ScaffoldDivider } from '@/components/layouts/Scaffold'
- import { InlineLink } from '@/components/ui/InlineLink'
- import { useIsFeatureEnabled } from '@/hooks/misc/useIsFeatureEnabled'
- import { useSelectedProjectQuery } from '@/hooks/misc/useSelectedProject'
- import { BASE_PATH } from '@/lib/constants'
- export const IntegrationImageHandler = ({ title }: { title: 'vercel' | 'github' | 'aws' }) => {
- return (
- <img
- className="border rounded-lg shadow-sm w-full sm:w-48 mt-6 border-body"
- src={`${BASE_PATH}/img/integrations/covers/${title}-cover.png`}
- alt={`${title} cover`}
- />
- )
- }
- export const IntegrationSettings = () => {
- const { data: project } = useSelectedProjectQuery()
- const isBranch = project?.parent_project_ref !== undefined
- const showVercelIntegration = useIsFeatureEnabled('integrations:vercel')
- const showAWSPrivateLinkFeature = useIsFeatureEnabled('integrations:aws_private_link')
- // PrivateLink is not available in eu-central-2 (Zurich) until Feb 2026
- const isPrivateLinkUnsupportedRegion = project?.region === 'eu-central-2'
- const showAWSPrivateLink = showAWSPrivateLinkFeature && !isPrivateLinkUnsupportedRegion
- return (
- <>
- {isBranch && (
- <ScaffoldContainer>
- <Admonition
- type="default"
- className="mt-6"
- title="You are currently on a preview branch of your project"
- >
- To adjust your project's integration settings, you may return to your{' '}
- <InlineLink href={`/project/${project.parent_project_ref}/settings/integrations`}>
- main branch
- </InlineLink>
- .
- </Admonition>
- </ScaffoldContainer>
- )}
- <GitHubSection />
- {showVercelIntegration && (
- <>
- <ScaffoldDivider />
- <VercelSection isProjectScoped={true} />
- <SidePanelVercelProjectLinker />
- </>
- )}
- {showAWSPrivateLink && (
- <>
- <ScaffoldDivider />
- <AWSPrivateLinkSection />
- </>
- )}
- </>
- )
- }
|