From cc19ea09e0e285cc34cc6df45589a47be305817a Mon Sep 17 00:00:00 2001 From: george Date: Fri, 17 Jul 2026 07:17:13 +0000 Subject: [PATCH] Add Daily Practice level (all 31 prepositions) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit New pseudo-level (id 10.5) that drills all 31 prepositions. App.jsx pins it to the top of the Prepositions tab once the "Alle Präpositionen" lesson is completed, and defaults it to one-tap mode. --- src/engine.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/engine.js b/src/engine.js index b5536ef..fe212cf 100644 --- a/src/engine.js +++ b/src/engine.js @@ -241,6 +241,10 @@ export const LEVELS = [ {id:8, tab:'prep', name:'Häufige Präpositionen', desc:'16 most common prepositions', preps:COMMON_PREPS, type:'prep'}, {id:9, tab:'prep', name:'Seltene Präpositionen', desc:'15 less common prepositions', preps:RARE_PREPS, type:'prep'}, {id:10, tab:'prep', name:'Alle Präpositionen', desc:'All 31 prepositions mixed', preps:ALL_PREPS, type:'prep'}, + // Daily Practice: unlocked once "Alle Präpositionen" is completed. Drills all + // 31 prepositions and defaults to one-tap mode. Rendered pinned at the top of + // the Prepositions tab by App.jsx, not inline in the level list. + {id:10.5, tab:'prep', name:'Daily Practice', desc:'All 31 prepositions · one-tap daily drill', preps:ALL_PREPS, type:'prep', daily:true}, {id:18, tab:'prep', name:'Wechsel im Kontext', desc:'Real sentences: Akkusativ or Dativ?', preps:PREPS_BY_CASE.wechsel, type:'wechselContext'}, {id:19, tab:'prep', name:'Kontraktionen', desc:'Contractions: am, ins, zum, beim…', type:'contraction'},