mirror of
https://github.com/OpenSquawk/OpenSquawk
synced 2026-05-20 15:25:46 +08:00
41 lines
769 B
TypeScript
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(),
|
|
}
|
|
}
|