- Lesson screen HTML with letter-area and keyboard containers - initLessonScreen: renders keyboard, shows letters, handles keypress - Correct key dissolves letter with animation, advances to next - Wrong key does nothing (per D-03), correct key stays highlighted - startLesson in app.ts: manages lesson lifecycle and cleanup - onComplete: updates progress, unlocks next level, saves to IndexedDB - CSS: floating letter animation, dissolve effect on correct press Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
47 lines
1.7 KiB
HTML
47 lines
1.7 KiB
HTML
<!doctype html>
|
|
<html lang="de">
|
|
<head>
|
|
<meta charset="UTF-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
<title>Zauberwald</title>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com" />
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
|
|
<link
|
|
href="https://fonts.googleapis.com/css2?family=Quicksand:wght@400;600;700&family=Nunito:wght@400;600&display=swap"
|
|
rel="stylesheet"
|
|
/>
|
|
</head>
|
|
<body>
|
|
<section id="screen-welcome" class="screen screen--active">
|
|
<div class="welcome">
|
|
<h1>Willkommen im Zauberwald!</h1>
|
|
<p class="welcome__subtitle">Waehle deine Begleitfigur:</p>
|
|
<div class="welcome__companions" id="companion-grid">
|
|
<!-- Filled dynamically by screens.ts -->
|
|
</div>
|
|
<p class="welcome__layout-label">Tastatur-Layout:</p>
|
|
<div class="welcome__layout-toggle" id="layout-toggle">
|
|
<button class="layout-btn layout-btn--active" data-layout="de">DE</button>
|
|
<button class="layout-btn" data-layout="ch">CH</button>
|
|
</div>
|
|
<button class="welcome__start-btn" id="start-btn" disabled>Los geht's!</button>
|
|
</div>
|
|
</section>
|
|
<section id="screen-forest" class="screen"></section>
|
|
<section id="screen-lesson" class="screen">
|
|
<div class="lesson">
|
|
<div class="lesson__letter-area" id="letter-area">
|
|
<!-- Current letter appears here -->
|
|
</div>
|
|
<div class="lesson__keyboard" id="lesson-keyboard">
|
|
<!-- Keyboard rendered here -->
|
|
</div>
|
|
</div>
|
|
</section>
|
|
<section id="screen-reward" class="screen"></section>
|
|
<section id="screen-parent" class="screen"></section>
|
|
|
|
<script type="module" src="/src/main.ts"></script>
|
|
</body>
|
|
</html>
|