import { ArrowUpRight, Check, Copy } from 'lucide-react' import Link from 'next/link' import React, { useState } from 'react' import { Button, cn, FloatingPlate, Tooltip, TooltipContent, TooltipTrigger } from 'ui' import { TextLink } from 'ui-patterns/TextLink' import SectionContainer from '@/components/Layouts/SectionContainer' interface AIPrompt { id: string title: string description?: string code: string language: string docsUrl?: string copyable?: boolean } export interface TwoColumnsSectionProps { heading: string | React.ReactNode subheading?: string id?: string docsUrl?: string className?: string aiPrompts: AIPrompt[] leftFooter?: React.ReactNode headingRight?: string | React.ReactNode } const CodeSnippet = ({ prompt }: { prompt: AIPrompt }) => { const [text, setText] = useState('copy') function updateCopyStatus() { if (text === 'copy') { setText(() => 'copied') setTimeout(() => { setText(() => 'copy') }, 1000) } } return (

{prompt.title}

{prompt.docsUrl && ( )}
{prompt.copyable && ( Copy to clipboard )}
          {prompt.code}
        
) } const TwoColumnsSection = ({ heading, subheading, docsUrl, id, className, aiPrompts, leftFooter, headingRight, }: TwoColumnsSectionProps) => { return (

{heading}

{subheading &&

{subheading}

} {leftFooter && leftFooter}
{headingRight &&

{headingRight}

}
{aiPrompts.map((prompt) => ( ))}
{docsUrl && (
)}
) } export default TwoColumnsSection