Files
mathquest/public/index.html
2026-05-13 22:49:40 +02:00

154 lines
5.2 KiB
HTML

<!doctype html>
<html lang="de">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Kriminalfälle - Mathematische Ermittlungen</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<!-- Auth overlay — shown when not logged in -->
<div id="authOverlay" class="auth-overlay">
<div class="auth-card">
<h1 class="auth-title">Mathquest</h1>
<div class="auth-tabs">
<button
class="auth-tab active"
id="tabLogin"
onclick="showAuthTab('login')"
>
Anmelden
</button>
<button
class="auth-tab"
id="tabRegister"
onclick="showAuthTab('register')"
>
Registrieren
</button>
</div>
<div id="loginForm">
<input
type="email"
id="loginEmail"
class="auth-input"
placeholder="E-Mail"
autocomplete="email"
/>
<input
type="password"
id="loginPassword"
class="auth-input"
placeholder="Passwort"
autocomplete="current-password"
/>
<div class="auth-error" id="loginError"></div>
<button class="auth-button" onclick="login()">Anmelden</button>
</div>
<div id="registerForm" style="display: none">
<input
type="text"
id="registerName"
class="auth-input"
placeholder="Name (optional)"
autocomplete="name"
/>
<input
type="email"
id="registerEmail"
class="auth-input"
placeholder="E-Mail"
autocomplete="email"
/>
<input
type="password"
id="registerPassword"
class="auth-input"
placeholder="Passwort"
autocomplete="new-password"
/>
<div class="auth-error" id="registerError"></div>
<button class="auth-button" onclick="register()">Registrieren</button>
</div>
</div>
</div>
<!-- Class picker — shown after login when no class is active -->
<div id="classPickerOverlay" class="class-picker-overlay" style="display: none">
<div class="class-picker-card">
<h2 class="class-picker-title">Klasse wählen</h2>
<p class="class-picker-subtitle">Wähle deine Klasse, um fortzufahren.</p>
<div id="classList" class="class-list"></div>
</div>
</div>
<!-- Class completion — shown when all lessons in the active class are done -->
<div id="classCompletionOverlay" class="class-picker-overlay" style="display: none">
<div class="class-picker-card" style="text-align: center">
<div class="completion-icon">🎉</div>
<h2 class="class-picker-title">Klasse abgeschlossen!</h2>
<p class="class-picker-subtitle">
Du hast alle Aufgaben gelöst und
<strong id="completionPoints" style="color: var(--theme-accent)">0</strong>
Punkte erreicht.
</p>
<button class="auth-button" style="margin-top: 24px" onclick="completeAndPickClass()">
Nächste Klasse wählen
</button>
<button class="reset-button" style="margin-top: 10px" onclick="resetClassProgress(this)">
Fortschritt zurücksetzen
</button>
</div>
</div>
<!-- Main app — hidden until logged in and class is active -->
<div id="appWrapper" class="app-wrapper" style="display: none">
<aside class="sidebar" id="sidebar"></aside>
<div class="main-content">
<div class="container">
<header>
<div class="header-content">
<h1>Mathquest</h1>
<div class="header-right">
<div class="points-display">
<div class="points-label">Punkte</div>
<div class="points-value" id="totalPoints">0</div>
</div>
<div class="user-display">
<div class="user-name" id="userDisplayName"></div>
<button class="logout-button" onclick="logout()">
Abmelden
</button>
</div>
</div>
</div>
</header>
<div class="progress-section">
<div class="progress-content">
<div class="progress-label">Fortschritt</div>
<div class="progress-bar-container">
<div class="progress-bar" id="progressBar"></div>
</div>
<div class="progress-text" id="progressText">0 / 100</div>
</div>
</div>
<div class="task-section">
<div id="chapterDescription" class="chapter-description"></div>
<div id="taskContainer" class="task-container"></div>
</div>
<div class="message" id="message"></div>
</div>
</div>
</div>
<script src="/config.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@supabase/supabase-js@2/dist/umd/supabase.js"></script>
<script src="app.js"></script>
</body>
</html>