import { Link } from 'react-router-dom' import { ArrowRight, Code2, FileText, Image as ImageIcon, Images, Info } from 'lucide-react' const TOOLS = [ { to: '/workspace/text', title: 'Text → Video', tagline: 'Guided 6-step wizard', description: 'Paste source text, pick project metadata, tune AI + rendering, and start a run. The richest flow — exposes every backend knob.', icon: FileText, accent: 'brand', highlights: [ 'AI content generation', 'Full wizard + preflight', ], }, { to: '/workspace/html', title: 'HTML → Video', tagline: 'Skip the AI step', description: 'Paste or upload raw HTML. Backed by Playwright rendering. Use it when you already have a layout and just want crisp screenshots.', icon: Code2, accent: 'sky', highlights: ['Beautify / minify', 'Bring your own HTML', 'Instant render'], }, { to: '/workspace/image', title: 'Image / PDF → Video', tagline: 'Vision AI extraction', description: 'Upload a photo, screenshot, or PDF. Vision AI extracts the text, formats it as HTML, then renders screenshots. Up to 10 PDF pages per run.', icon: ImageIcon, accent: 'violet', highlights: ['OCR via Vision AI', 'PDF support', 'Automatic cleanup'], }, { to: '/workspace/screenshots', title: 'Screenshots → Video', tagline: 'Skip AI + capture', description: 'Upload screenshots you already have and run only the MP4 / PPTX export. Same canonical filename + queue + ETA tracking as Text → Video.', icon: Images, accent: 'amber', highlights: ['Drag-drop multiple PNG/JPG', 'Same export pipeline', 'Canonical filenames'], }, ] as const const ACCENT_CLASSES: Record< string, { border: string; bg: string; text: string; ring: string } > = { brand: { border: 'border-brand-200 dark:border-brand-500/30', bg: 'bg-brand-50 dark:bg-brand-500/10', text: 'text-brand-700 dark:text-brand-200', ring: 'group-hover:ring-brand-200 dark:group-hover:ring-brand-500/30', }, sky: { border: 'border-sky-200 dark:border-sky-500/30', bg: 'bg-sky-50 dark:bg-sky-500/10', text: 'text-sky-700 dark:text-sky-200', ring: 'group-hover:ring-sky-200 dark:group-hover:ring-sky-500/30', }, violet: { border: 'border-violet-200 dark:border-violet-500/30', bg: 'bg-violet-50 dark:bg-violet-500/10', text: 'text-violet-700 dark:text-violet-200', ring: 'group-hover:ring-violet-200 dark:group-hover:ring-violet-500/30', }, amber: { border: 'border-amber-200 dark:border-amber-500/30', bg: 'bg-amber-50 dark:bg-amber-500/10', text: 'text-amber-700 dark:text-amber-200', ring: 'group-hover:ring-amber-200 dark:group-hover:ring-amber-500/30', }, } export default function Workspace() { return (
All four tools share the same MP4 / PPTX export pipeline — they only differ in how the screenshots are produced (or, for Screenshots → Video, where they come from).
{t.description}