Add Schulsprache (school language) as second language setting
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 27s
CI / test-go-edu-search (push) Successful in 28s
CI / test-python-klausur (push) Failing after 2m21s
CI / test-python-agent-core (push) Successful in 18s
CI / test-nodejs-website (push) Successful in 22s

- LanguageContext: new schoolLanguage + setSchoolLanguage
- LanguageDropdown: two tabs (Muttersprache / Schulsprache) with flag selection
- UnitBuilder: defaults target language to schoolLanguage
- Stored in bp_school_language localStorage (default: de)
- Shows school flag badge next to main language when different

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-04-29 17:49:58 +02:00
parent fc49d87928
commit bde0d57b5a
5 changed files with 97 additions and 40 deletions
@@ -43,16 +43,19 @@ interface Props {
isCreating: boolean
noSearchResults?: boolean
searchQuery?: string
defaultSourceLang?: string
defaultTargetLang?: string
}
export default function UnitBuilder({
isDark, glassCard, glassInput,
selectedWords, onWordsChange, onCreateUnit, isCreating,
noSearchResults, searchQuery,
defaultSourceLang = 'en', defaultTargetLang = 'de',
}: Props) {
const [unitTitle, setUnitTitle] = useState('')
const [sourceLang, setSourceLang] = useState('de')
const [targetLang, setTargetLang] = useState('en')
const [sourceLang, setSourceLang] = useState(defaultSourceLang)
const [targetLang, setTargetLang] = useState(defaultTargetLang)
const [showManualEntry, setShowManualEntry] = useState(false)
const [manualSource, setManualSource] = useState('')
const [manualTarget, setManualTarget] = useState('')
+3
View File
@@ -3,6 +3,7 @@
import React, { useState, useEffect, useCallback } from 'react'
import { useRouter } from 'next/navigation'
import { useTheme } from '@/lib/ThemeContext'
import { useLanguage } from '@/lib/LanguageContext'
import { Sidebar } from '@/components/Sidebar'
import { AudioButton } from '@/components/learn/AudioButton'
import UnitBuilder, { type UnitWord } from './components/UnitBuilder'
@@ -39,6 +40,7 @@ function vocabToUnit(w: VocabWord, searchLang: string): UnitWord {
export default function VocabularyPage() {
const { isDark } = useTheme()
const { schoolLanguage } = useLanguage()
const router = useRouter()
const [query, setQuery] = useState('')
@@ -340,6 +342,7 @@ export default function VocabularyPage() {
isCreating={isCreating}
noSearchResults={noSearchResults}
searchQuery={query}
defaultTargetLang={schoolLanguage}
/>
</div>
</div>