62 lines
2.8 KiB
Markdown
62 lines
2.8 KiB
Markdown
---
|
|
type: quick
|
|
description: "Uebungsanleitung dauerhaft statt Titel anzeigen"
|
|
files_modified:
|
|
- src/ui/screens.ts
|
|
---
|
|
|
|
<objective>
|
|
Replace the phase titles "Ueben"/"Woerter" with the companion instruction texts, and keep them visible for the entire phase duration. Remove the 2.5s timeout pattern that currently shows/hides the instructions.
|
|
|
|
Purpose: The child should always see what to do during practice/words phases, not just a brief flash of instructions.
|
|
Output: Modified screens.ts with persistent instruction text in the phase indicator.
|
|
</objective>
|
|
|
|
<context>
|
|
@src/ui/screens.ts
|
|
</context>
|
|
|
|
<tasks>
|
|
|
|
<task type="auto">
|
|
<name>Task 1: Replace phase titles with instruction text and remove 2.5s delay</name>
|
|
<files>src/ui/screens.ts</files>
|
|
<action>
|
|
In the `setPhase()` function (line 160-167), change the labels map:
|
|
- `practice` label: from "Ueben" to "Jetzt kannst du ueben! Druecke die Taste zu dem Buchstaben, der herunterfaellt."
|
|
- `words` label: from "Woerter" to "Jetzt kommen ganze Woerter! Tippe die Buchstaben nacheinander ein."
|
|
- `discover` label: keep "Entdecken" as-is
|
|
|
|
In `runPracticePhase()` (line 472-484), remove:
|
|
- Lines 474-479: the companionText.textContent assignment, companionArea.style.display, the setTimeout/await 2500ms delay, the cancelled check after delay, and the companionText clearing
|
|
- Keep: `setPhase("practice")`, `createExerciseState(level)`, and the `runLetterExercise` promise
|
|
|
|
In `runWordsPhase()` (line 486+), remove:
|
|
- Lines 488-493: the companionText.textContent assignment, companionArea.style.display, the setTimeout/await 2500ms delay, the cancelled check after delay, and the companionText clearing
|
|
- Keep: `setPhase("words")`, and everything from `const wordCount` onward
|
|
</action>
|
|
<verify>
|
|
<automated>cd /home/dev/workspace/zauberwald && npx tsc --noEmit && npx vitest run 2>&1 | tail -20</automated>
|
|
</verify>
|
|
<done>
|
|
- setPhase("practice") sets the phase indicator to the full instruction text instead of "Ueben"
|
|
- setPhase("words") sets the phase indicator to the full instruction text instead of "Woerter"
|
|
- No setTimeout 2500ms delay in either runPracticePhase or runWordsPhase
|
|
- No companionText assignment or clearing in those two functions
|
|
- Instruction text stays visible for the entire phase duration via the phase indicator
|
|
</done>
|
|
</task>
|
|
|
|
</tasks>
|
|
|
|
<verification>
|
|
Run `npx tsc --noEmit` and `npx vitest run` -- both must pass. Manual check: start a lesson, observe that practice/words phases show the instruction text in the phase indicator area throughout the entire phase.
|
|
</verification>
|
|
|
|
<success_criteria>
|
|
- Phase indicator shows full instruction text during practice and words phases
|
|
- No 2.5s delay before exercises start
|
|
- No companion text flickering (set then cleared)
|
|
- TypeScript compiles, tests pass
|
|
</success_criteria>
|