Initial MatheLeicht Astro app

This commit is contained in:
2026-04-19 20:41:10 +00:00
parent 0de87e40e6
commit 709ae12546
10 changed files with 1361 additions and 14 deletions
+130
View File
@@ -0,0 +1,130 @@
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;