implement supabase

This commit is contained in:
Lukas Cremer
2026-05-13 21:32:49 +02:00
parent a49130973a
commit 56f41d9f8d
6 changed files with 528 additions and 411 deletions

View File

@@ -7,18 +7,52 @@
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="app-wrapper">
<aside class="sidebar" id="sidebar">
<!-- Sidebar wird hier dynamisch eingefügt -->
</aside>
<!-- 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="points-display">
<div class="points-label">Ermittlungspunkte</div>
<div class="points-value" id="totalPoints">0</div>
<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>
@@ -35,9 +69,7 @@
<div class="task-section">
<div id="chapterDescription" class="chapter-description"></div>
<div id="taskContainer" class="task-container">
<!-- Aufgaben werden hier dynamisch eingefügt -->
</div>
<div id="taskContainer" class="task-container"></div>
</div>
<div class="message" id="message"></div>
@@ -45,6 +77,8 @@
</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>