diff --git a/studio-v2/app/vocabulary/page.tsx b/studio-v2/app/vocabulary/page.tsx index c12d684..dd0600f 100644 --- a/studio-v2/app/vocabulary/page.tsx +++ b/studio-v2/app/vocabulary/page.tsx @@ -37,6 +37,7 @@ export default function VocabularyPage() { const [filters, setFilters] = useState<{ tags: string[]; parts_of_speech: string[]; total_words: number }>({ tags: [], parts_of_speech: [], total_words: 0 }) const [posFilter, setPosFilter] = useState('') const [diffFilter, setDiffFilter] = useState(0) + const [searchLang, setSearchLang] = useState('en') // Unit builder const [selectedWords, setSelectedWords] = useState([]) @@ -71,7 +72,7 @@ export default function VocabularyPage() { try { let url: string if (query.trim()) { - url = `${getApiBase()}/api/vocabulary/search?q=${encodeURIComponent(query)}&limit=30&source=kaikki` + url = `${getApiBase()}/api/vocabulary/search?q=${encodeURIComponent(query)}&lang=${searchLang}&limit=30&source=kaikki` } else { const params = new URLSearchParams({ limit: '30' }) if (posFilter) params.set('pos', posFilter) @@ -91,7 +92,7 @@ export default function VocabularyPage() { }, 300) return () => clearTimeout(timer) - }, [query, posFilter, diffFilter]) + }, [query, posFilter, diffFilter, searchLang]) const toggleWord = useCallback((word: VocabWord) => { setSelectedWords(prev => { @@ -158,11 +159,38 @@ export default function VocabularyPage() { {/* Search Bar */}
+ setQuery(e.target.value)} - placeholder="Wort suchen (EN oder DE)..." + placeholder={searchLang === 'de' ? 'Deutsches Wort suchen...' : searchLang === 'en' ? 'English word search...' : 'Wort suchen...'} className={`flex-1 px-4 py-3 rounded-xl border outline-none text-lg ${glassInput}`} autoFocus />