Words{(pictureWords.length + safeWords.length) > 0 && {pictureWords.length + safeWords.length}}
{safeWordInputVisible && (
setSafeWordInput(e.target.value)}
onKeyDown={e => {
if (e.key === 'Enter') addSafeWord()
if (e.key === 'Escape') { setSafeWordInputVisible(false); setSafeWordInput('') }
}}
placeholder="Wort…"
style={{
width: '100%', padding: '5px 8px', borderRadius: 'var(--r-sm)',
border: '1px solid var(--border)', background: 'var(--surface-2)',
color: 'var(--text-1)', fontFamily: 'var(--font)', fontSize: 12,
boxSizing: 'border-box',
}}
/>
setSafeWordLevel(Math.min(100, Math.max(1, Number(e.target.value))))}
style={{
flex: 1, padding: '4px 6px', borderRadius: 'var(--r-sm)',
border: '1px solid var(--border)', background: 'var(--surface-2)',
color: 'var(--text-1)', fontFamily: 'var(--font)', fontSize: 12,
}}
/>
)}
{/* Saved words from Directus */}
{pictureWords.length > 0 && (
0 ? 8 : 0 }}>
{pictureWords.map(w => (
{w.title_de}
L{w.level}
))}
)}
{/* Pending new words */}
{safeWords.length > 0 && (
{safeWords.map((w, i) => (
{w.title}
setSafeWords(prev => prev.map((x, j) => j === i ? { ...x, level: Math.min(100, Math.max(1, Number(e.target.value))) } : x))}
style={{
width: 44, padding: '2px 4px', borderRadius: 'var(--r-sm)',
border: '1px solid color-mix(in srgb, var(--primary) 40%, transparent)',
background: 'var(--surface)', color: 'var(--primary)',
fontFamily: 'var(--font)', fontSize: 11, textAlign: 'center',
}}
/>
))}
)}
{pictureWords.length === 0 && safeWords.length === 0 && (
Noch keine Words
)}