make login generic
This commit is contained in:
@@ -1,84 +1,125 @@
|
||||
<!DOCTYPE html>
|
||||
<!doctype html>
|
||||
<html lang="de">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<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>
|
||||
|
||||
<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 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 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="task-section">
|
||||
<div id="chapterDescription" class="chapter-description"></div>
|
||||
<div id="taskContainer" class="task-container"></div>
|
||||
<div class="user-display">
|
||||
<div class="user-name" id="userDisplayName"></div>
|
||||
<button class="logout-button" onclick="logout()">
|
||||
Abmelden
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="message" id="message"></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>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user