export type Level = { id: string; label: string; min: number; max: number; }; export type Exercise = { slug: string; title: string; category: 'Grundschule' | 'Jugendliche' | 'Erwachsene'; categoryIntro: string; short: string; description: string; operation: 'addition' | 'subtraction' | 'multiplication' | 'division' | 'percentage'; accent: 'coral' | 'lavender' | 'mint' | 'yellow'; levels: Level[]; }; export const exercises: Exercise[] = [ { slug: 'addieren-bis-20', title: 'Addieren bis 20', category: 'Grundschule', categoryIntro: 'Für erste Plusaufgaben mit kleinen Zahlen und schnellen Erfolgserlebnissen.', short: 'Einfache Plusaufgaben für Kinder in der Grundschule.', description: 'Ideal für einen lockeren Einstieg: kleine Summen, klares Feedback und kurze Übungsrunden.', operation: 'addition', accent: 'coral', levels: [ { id: 'leicht', label: 'Leicht', min: 1, max: 10 }, { id: 'mittel', label: 'Mittel', min: 1, max: 20 }, { id: 'knifflig', label: 'Knifflig', min: 5, max: 20 }, ], }, { slug: 'subtrahieren-bis-100', title: 'Subtrahieren bis 100', category: 'Grundschule', categoryIntro: 'Minusaufgaben Schritt für Schritt mit passenden Zahlenbereichen.', short: 'Subtraktion üben – vom kleinen Rechnen bis zu größeren Zahlen.', description: 'Geeignet zum Festigen von Minusaufgaben mit verständlichen Schwierigkeitsstufen.', operation: 'subtraction', accent: 'yellow', levels: [ { id: 'leicht', label: 'Leicht', min: 1, max: 20 }, { id: 'mittel', label: 'Mittel', min: 10, max: 50 }, { id: 'stark', label: 'Stark', min: 20, max: 100 }, ], }, { slug: 'einmaleins', title: 'Kleines Einmaleins', category: 'Grundschule', categoryIntro: 'Das Einmaleins mit spielerischem Tempo festigen.', short: 'Malaufgaben für die wichtigsten Reihen und sichere Grundlagen.', description: 'Trainiert das schnelle Wiedererkennen von Multiplikationsaufgaben und Ergebnissen.', operation: 'multiplication', accent: 'lavender', levels: [ { id: 'leicht', label: 'Leicht', min: 1, max: 5 }, { id: 'mittel', label: 'Mittel', min: 2, max: 10 }, { id: 'stark', label: 'Stark', min: 4, max: 12 }, ], }, { slug: 'dividieren', title: 'Dividieren ohne Rest', category: 'Jugendliche', categoryIntro: 'Geteilt-Aufgaben mit glatten Ergebnissen und klaren Mustern.', short: 'Division üben, ohne sich direkt mit Resten aufzuhalten.', description: 'Eine gute Zwischenstufe für Lernende, die sicher mit Malaufgaben werden wollen.', operation: 'division', accent: 'mint', levels: [ { id: 'leicht', label: 'Leicht', min: 2, max: 5 }, { id: 'mittel', label: 'Mittel', min: 2, max: 10 }, { id: 'stark', label: 'Stark', min: 3, max: 12 }, ], }, { slug: 'kopfrechnen', title: 'Kopfrechnen Mix', category: 'Jugendliche', categoryIntro: 'Schnelle Aufgaben für ein besseres Gefühl für Zahlen.', short: 'Gemischte Rechenaufgaben für mehr Sicherheit im Alltag und in der Schule.', description: 'Abwechslung aus Plus, Minus und Mal – direkt im Browser, ohne Anmeldung.', operation: 'addition', accent: 'coral', levels: [ { id: 'leicht', label: 'Leicht', min: 5, max: 30 }, { id: 'mittel', label: 'Mittel', min: 20, max: 80 }, { id: 'stark', label: 'Stark', min: 50, max: 150 }, ], }, { slug: 'prozente-im-alltag', title: 'Prozente im Alltag', category: 'Erwachsene', categoryIntro: 'Rabatte, Trinkgeld und einfache Prozentrechnungen sicher beherrschen.', short: 'Praktische Prozentaufgaben für Alltag, Beruf und Einkauf.', description: 'Trainiert typische Prozentrechnungen mit verständlichen Zahlen und direktem Feedback.', operation: 'percentage', accent: 'lavender', levels: [ { id: 'leicht', label: 'Leicht', min: 10, max: 100 }, { id: 'mittel', label: 'Mittel', min: 20, max: 250 }, { id: 'stark', label: 'Stark', min: 50, max: 500 }, ], }, ]; export function getExercise(slug: string) { return exercises.find((exercise) => exercise.slug === slug); } export const categories = [ { title: 'Grundschule', intro: 'Spielerische Aufgaben für Kinder mit klarer Struktur, großen Zahlen und einfachem Feedback.', }, { title: 'Jugendliche', intro: 'Mehr Tempo, mehr Sicherheit und abwechslungsreiche Aufgaben für Schule und Alltag.', }, { title: 'Erwachsene', intro: 'Praktisches Rechnen für Alltagssituationen – ohne unnötigen Ballast und ohne Login.', }, ] as const;