126 lines
3.9 KiB
HTML
126 lines
3.9 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>
|
|
|
|
<!-- Main app — hidden until logged in -->
|
|
<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>Kriminalfälle - Mathematische Ermittlungen</h1>
|
|
<div class="header-right">
|
|
<div class="points-display">
|
|
<div class="points-label">Ermittlungspunkte</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">Ermittlungsfortschritt</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>
|