Some checks failed
Test and deploy staging / staging (push) Has been cancelled
Dutch and Korean (explained in English) and English (explained in Dutch) from A1 to C1, with a Hangul level for Korean. Lessons with notes, words and sentences generate multiple-choice, typing, sentence building, cloze, listening and matching exercises. Endless challenges: a seeded daily challenge, sprint, survival, mixed practice, level tests, spaced-repetition reviews and generated drills (numbers, clock times, de/het, plurals, Dutch and Korean conjugation, particles, Hangul reading, irregular verbs). Progress is stored in localStorage with export/import. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
42 lines
936 B
TypeScript
42 lines
936 B
TypeScript
export type ModeId = 'daily' | 'sprint' | 'survival' | 'endless' | 'review';
|
|
|
|
export type ModeInfo = {
|
|
id: ModeId;
|
|
title: string;
|
|
description: string;
|
|
group: 'challenge' | 'review';
|
|
};
|
|
|
|
export const MODES: ModeInfo[] = [
|
|
{
|
|
id: 'daily',
|
|
title: 'Daily challenge',
|
|
description: '20 questions, the same all day. Your first score counts.',
|
|
group: 'challenge'
|
|
},
|
|
{
|
|
id: 'sprint',
|
|
title: 'Sprint',
|
|
description: 'As many right answers as you can in 60 seconds.',
|
|
group: 'challenge'
|
|
},
|
|
{
|
|
id: 'survival',
|
|
title: 'Survival',
|
|
description: 'Endless and slowly harder. Three mistakes and you are out.',
|
|
group: 'challenge'
|
|
},
|
|
{
|
|
id: 'endless',
|
|
title: 'Mixed practice',
|
|
description: 'No timer, no lives. Words, grammar and drills until you stop.',
|
|
group: 'challenge'
|
|
},
|
|
{
|
|
id: 'review',
|
|
title: 'Review',
|
|
description: 'Spaced repetition: due words first, then your weakest ones.',
|
|
group: 'review'
|
|
}
|
|
];
|