import Link from 'next/link' import { observer } from 'mobx-react-lite' import { IconAlertCircle } from 'ui' import { useParams, useStore } from 'hooks' import { useProjectSettingsQuery } from 'data/config/project-settings-query' import { useCustomDomainsQuery } from 'data/custom-domains/custom-domains-query' import Panel from 'components/ui/Panel' import { FormHeader } from 'components/ui/Forms' import UpgradeToPro from 'components/ui/UpgradeToPro' import CustomDomainDelete from './CustomDomainDelete' import CustomDomainVerify from './CustomDomainVerify' import CustomDomainActivate from './CustomDomainActivate' import CustomDomainsConfigureHostname from './CustomDomainsConfigureHostname' import CustomDomainsShimmerLoader from './CustomDomainsShimmerLoader' import { PRICING_TIER_PRODUCT_IDS } from 'lib/constants' const CustomDomainConfig = () => { const { ui } = useStore() const { ref } = useParams() const tier = ui.selectedProject?.subscription_tier const { isLoading: isSettingsLoading, data: settings } = useProjectSettingsQuery({ projectRef: ref, }) const { isLoading: isCustomDomainsLoading, isError, isSuccess, data, } = useCustomDomainsQuery({ projectRef: ref }) const isLoading = isSettingsLoading || isCustomDomainsLoading return (
{data?.status === '0_no_hostname_configured' ? ( ) : ( {isLoading && ( )} {data?.status === '0_not_allowed' && ( } primaryText="Custom domains are a Pro plan add-on" projectRef={ref as string} secondaryText={ tier === PRICING_TIER_PRODUCT_IDS.FREE ? 'To configure a custom domain for your project, please upgrade to the Pro plan with the custom domains add-on selected' : 'To configure a custom domain for your project, please enable the add-on' } /> )} {isError && (

Failed to retrieve custom domain configuration. Please try again later or{' '} contact support .

)} {isSuccess && (
{(data.status === '2_initiated' || data.status === '3_challenge_verified') && ( )} {data.status === '4_origin_setup_completed' && ( )} {data.status === '5_services_reconfigured' && ( )}
)}
)}
) } export default observer(CustomDomainConfig)