85 lines
3.9 KiB
HTML
85 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">Kriminalfälle</h1>
|
|
<p class="auth-subtitle">Mathematische Ermittlungen</p>
|
|
|
|
<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-Adresse" 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="Anzeigename (optional)" autocomplete="name">
|
|
<input type="email" id="registerEmail" class="auth-input" placeholder="E-Mail-Adresse" autocomplete="email">
|
|
<input type="password" id="registerPassword" class="auth-input" placeholder="Passwort (min. 6 Zeichen)" 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>
|