export interface LessonProgress { best: number done: boolean } export type LearnProgress = Record> 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(), } }