import { ArrowUpRight, BookOpen, Settings } from 'lucide-react' import { Button, cn } from 'ui' import { GenericSkeletonLoader, ShimmeringLoader } from 'ui-patterns' import { Admonition } from 'ui-patterns/admonition' import { MarketplaceDetailHero } from './MarketplaceDetailHero' import { MarketplaceDetailTopBar } from './MarketplaceDetailTopBar' import { OverviewTab } from './OverviewTab' import { InstallIntegrationSheet } from '@/components/interfaces/Integrations/Integration/IntegrationOverviewTabV2/InstallIntegrationSheet/InstallIntegrationSheet' import { InstallOAuthIntegrationButton } from '@/components/interfaces/Integrations/Integration/IntegrationOverviewTabV2/InstallIntegrationSheet/InstallOAuthIntegrationButton' import { useIntegrationDetail } from '@/components/interfaces/Integrations/Landing/useIntegrationDetail' import { UnknownInterface } from '@/components/ui/UnknownInterface' export const centeredContentClass = 'mx-auto w-full max-w-6xl px-6 xl:px-10' export const MarketplaceDetail = () => { const { ref, activeRoute, isKnownRoute, layout, tabs, isReady, isWrapperBlocked, pageTitle, pageSubTitle, integration, isInstalled, isAvailableLoading, isInstalledLoading, Component, } = useIntegrationDetail() if (!isReady) return null if (isWrapperBlocked) return if (isAvailableLoading || isInstalledLoading) { return ( <>
) } if (!integration) { return ( <>
Please try again later or contact support if the problem persists.
) } const renderInstallAction = () => { if (integration.type === 'oauth') { return } if (isInstalled) { return ( ) } return } const CustomPageComponent = activeRoute !== 'overview' && isKnownRoute ? Component : null return ( <> {integration.docsUrl && ( )} {renderInstallAction()} } /> {activeRoute === 'overview' ? (
) : CustomPageComponent ? ( layout === 'constrained' ? (
) : ( ) ) : null} ) }