Files
OpenSquawk/shared/learn/config.ts
2025-09-19 11:29:57 +02:00

41 lines
769 B
TypeScript

export interface LessonProgress {
best: number
done: boolean
}
export type LearnProgress = Record<string, Record<string, LessonProgress>>
export interface LearnConfig {
tts: boolean
radioLevel: number
voice: string
audioChallenge: boolean
audioSpeed: number
}
export interface LearnState {
xp: number
progress: LearnProgress
config: LearnConfig
}
export const LEARN_CONFIG_DEFAULTS: LearnConfig = {
tts: false,
radioLevel: 4,
voice: '',
audioChallenge: true,
audioSpeed: 1,
}
export function createDefaultLearnConfig(): LearnConfig {
return { ...LEARN_CONFIG_DEFAULTS }
}
export function createDefaultLearnState(): LearnState {
return {
xp: 0,
progress: {} as LearnProgress,
config: createDefaultLearnConfig(),
}
}