import { useState } from 'react'; import axios from '../services/api'; const resultBox = { marginTop: '12px', padding: '12px 14px', background: 'var(--surface-2)', border: '1px solid var(--border)', borderRadius: '12px', display: 'flex', alignItems: 'flex-start', gap: '10px', justifyContent: 'space-between', }; const statCard = { padding: '12px 16px', background: 'var(--surface-2)', border: '1px solid var(--border)', borderRadius: '12px', textAlign: 'center', flex: '1 1 120px', }; const TRANSFORMS = [ { op: 'uppercase', label: 'Großbuchstaben' }, { op: 'lowercase', label: 'Kleinbuchstaben' }, { op: 'titlecase', label: 'Titelschreibung' }, { op: 'reverse', label: 'Umkehren' }, { op: 'trim', label: 'Leerzeichen trim' }, { op: 'remove_spaces', label: 'Leerzeichen entfernen' }, ]; function StringUtilsTool() { const [input, setInput] = useState(''); const [result, setResult] = useState(null); const [error, setError] = useState(''); const [copied, setCopied] = useState(false); const run = async (op) => { setError(''); setResult(null); if (!input) { setError('Bitte Text eingeben.'); return; } try { const res = await axios.post('/api/string/analyze', { text: input, operation: op }); setResult(res.data); } catch (err) { setError(err.response?.data?.message || 'Fehler bei der Verarbeitung'); } }; const copy = (text) => { navigator.clipboard.writeText(text); setCopied(true); setTimeout(() => setCopied(false), 1500); }; return (