OverviewTab.tsx26 lines · main
| 1 | import { MarketplaceDetailRail } from './MarketplaceDetailRail' |
| 2 | import { ConstrainedIntegrationTabScaffold } from '@/components/interfaces/Integrations/ConstrainedIntegrationTabScaffold' |
| 3 | import { FilesViewer } from '@/components/interfaces/Integrations/Integration/IntegrationOverviewTabV2/FilesViewer' |
| 4 | import { MarkdownContent } from '@/components/interfaces/Integrations/Integration/IntegrationOverviewTabV2/MarkdownContent' |
| 5 | import type { IntegrationDefinition } from '@/components/interfaces/Integrations/Landing/Integrations.constants' |
| 6 | |
| 7 | interface OverviewTabProps { |
| 8 | integration: IntegrationDefinition |
| 9 | isInstalled: boolean |
| 10 | } |
| 11 | |
| 12 | export const OverviewTab = ({ integration, isInstalled }: OverviewTabProps) => { |
| 13 | const { content, files = [] } = integration |
| 14 | |
| 15 | return ( |
| 16 | <ConstrainedIntegrationTabScaffold> |
| 17 | <div className="mx-auto grid w-full max-w-6xl grid-cols-1 items-start gap-10 @4xl:grid-cols-[minmax(0,760px)_240px]"> |
| 18 | <div className="min-w-0"> |
| 19 | {files.length > 0 && <FilesViewer files={files} />} |
| 20 | <MarkdownContent integrationId={integration.id} content={content} /> |
| 21 | </div> |
| 22 | <MarketplaceDetailRail integration={integration} isInstalled={isInstalled} /> |
| 23 | </div> |
| 24 | </ConstrainedIntegrationTabScaffold> |
| 25 | ) |
| 26 | } |