'use client'; import { useState, useCallback } from 'react'; import { Copy, Check } from 'lucide-react'; interface DiscoveryMode { key: string; letter: string; title: string; description: string; latency: string; quality: string; bestFor: string; recommended?: boolean; prompt: string; } interface DiscoveryModesProps { modes: DiscoveryMode[]; labels: { latency: string; quality: string; bestFor: string; recommended: string; copyPrompt: string; copied: string; selectMode: string; addToFile: string; }; } export function DiscoveryModes({ modes, labels }: DiscoveryModesProps) { const [selectedMode, setSelectedMode] = useState('standard'); const [copied, setCopied] = useState(false); const handleCopy = useCallback(async (text: string) => { try { await navigator.clipboard.writeText(text); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch { // Fallback for older browsers const textarea = document.createElement('textarea'); textarea.value = text; document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); setCopied(true); setTimeout(() => setCopied(false), 2000); } }, []); const selected = modes.find((m) => m.key === selectedMode) || modes[0]; return (
{modes.map((mode) => ( ))}
{/* Selected mode details */}

{selected.letter}. {selected.title}

{labels.bestFor}: {selected.bestFor}

{labels.addToFile}

{selected.prompt}
); }