'use client'; import { Tabs, TabsContent, TabsList, TabsTrigger } from '@/components/ui/tabs'; import { useI18n } from '@/lib/i18n'; import { History, Images, Layers3, Sparkles } from 'lucide-react'; export type WorkbenchMode = 'generate' | 'edit' | 'batch' | 'reuse'; type ModeToggleProps = { currentMode: WorkbenchMode; onModeChange: (mode: WorkbenchMode) => void; }; const modeItems: Array<{ value: WorkbenchMode; labelKey: string; descriptionKey: string; Icon: typeof Sparkles; }> = [ { value: 'generate', labelKey: 'mode.generate', descriptionKey: 'mode.generateDescription', Icon: Sparkles }, { value: 'edit', labelKey: 'mode.edit', descriptionKey: 'mode.editDescription', Icon: Images }, { value: 'batch', labelKey: 'mode.batch', descriptionKey: 'mode.batchDescription', Icon: Layers3 }, { value: 'reuse', labelKey: 'mode.reuse', descriptionKey: 'mode.reuseDescription', Icon: History } ]; export function ModeToggle({ currentMode, onModeChange }: ModeToggleProps) { const { t } = useI18n(); return ( onModeChange(value as WorkbenchMode)} className='w-full'> {modeItems.map(({ value, labelKey, descriptionKey, Icon }) => ( {t(labelKey)} {t(descriptionKey)} ))} {modeItems.map(({ value }) => ( ))} ); }