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
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:
@@ -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,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>
|
||||
|
||||
Reference in New Issue
Block a user