import { Loader2, Pencil, QrCode } from 'lucide-react'; import TextInputArea from '@/components/TextInputArea'; import QrCodePreview from './QrCodePreview'; import { useQrCodeContext } from '../contexts/QrCodeContext'; import { Button } from '@/components/ui/button'; import { Label } from '@/components/ui/label'; import { cn } from '@/lib/utils'; const TEXT_PREVIEW_MAX_LENGTH = 80; export default function GeneratePanel() { const { generatorState, setTextToEncode, confirmGenerate, backToEdit, downloadQrCode, copyQrCode, } = useQrCodeContext(); const isInputStep = generatorState.step === 'input'; const hasText = generatorState.textToEncode.trim().length > 0; const getTruncatedText = (text: string) => { if (text.length <= TEXT_PREVIEW_MAX_LENGTH) return text; return text.slice(0, TEXT_PREVIEW_MAX_LENGTH) + '...'; }; if (isInputStep) { return (
setTextToEncode('')} />
); } return (
{getTruncatedText(generatorState.savedText)}
); }