feat(quick-260329-tk2): add companion instructions for practice and words phases
- Practice phase shows 'Jetzt kannst du ueben! Druecke die Taste zu dem Buchstaben, der herunterfaellt.' for 2.5s before exercise starts - Words phase shows 'Jetzt kommen ganze Woerter! Tippe die Buchstaben nacheinander ein.' for 2.5s before exercise starts - Both functions converted to async/await pattern matching existing discover phase - Companion text cleared after delay before exercises begin
This commit is contained in:
+15
-3
@@ -468,16 +468,28 @@ export function initLessonScreen(
|
||||
companionText.textContent = "";
|
||||
}
|
||||
|
||||
function runPracticePhase(): Promise<void> {
|
||||
async function runPracticePhase(): Promise<void> {
|
||||
setPhase("practice");
|
||||
companionText.textContent =
|
||||
"Jetzt kannst du ueben! Druecke die Taste zu dem Buchstaben, der herunterfaellt.";
|
||||
companionArea.style.display = "flex";
|
||||
await new Promise<void>((resolve) => setTimeout(resolve, 2500));
|
||||
if (cancelled) return;
|
||||
companionText.textContent = "";
|
||||
const state = createExerciseState(level);
|
||||
return new Promise<void>((resolve) => {
|
||||
runLetterExercise(state, resolve);
|
||||
});
|
||||
}
|
||||
|
||||
function runWordsPhase(): Promise<void> {
|
||||
async function runWordsPhase(): Promise<void> {
|
||||
setPhase("words");
|
||||
companionText.textContent =
|
||||
"Jetzt kommen ganze Woerter! Tippe die Buchstaben nacheinander ein.";
|
||||
companionArea.style.display = "flex";
|
||||
await new Promise<void>((resolve) => setTimeout(resolve, 2500));
|
||||
if (cancelled) return;
|
||||
companionText.textContent = "";
|
||||
const wordCount = 4;
|
||||
let words: string[];
|
||||
if (isReview) {
|
||||
@@ -504,7 +516,7 @@ export function initLessonScreen(
|
||||
|
||||
if (words.length === 0) {
|
||||
// Fallback: skip words phase if no words available
|
||||
return Promise.resolve();
|
||||
return;
|
||||
}
|
||||
|
||||
const state = createWordExerciseState(words);
|
||||
|
||||
Reference in New Issue
Block a user