Volle Mindflux-App ins Deploy-Repo übernehmen
Ersetzt das Hello-World-Gerüst durch die vollständige Anwendung (com.example.mindflux: 64 Klassen, Thymeleaf-Templates, Static-Assets, Flyway V1–V6). Deploy-Infrastruktur (.gitea, Dockerfile) bleibt erhalten. - pom: volle Abhängigkeiten (Security, Thymeleaf, JPA, Flyway), Spring Boot 3.4.4 / Java 17 - docker-compose: SPRING_DATASOURCE_* unverändert; App lauscht auf 8080 (nginx -> mindflux:8080); Uploads-Volume; Admin-Passwörter via Gitea-Secrets - Workflow: Deploy-Step injiziert MINDFLUX_ADMIN*_PASSWORD aus Secrets - .dockerignore ergänzt; Hello-World (com.mindflux) und Test-Datei 'main' entfernt Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de" data-theme="dark" xmlns:th="http://www.thymeleaf.org">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Mindflux – Einstellungen</title>
|
||||
<link rel="stylesheet" href="/css/theme.css">
|
||||
<script src="/js/theme.js"></script>
|
||||
<style>
|
||||
.mf-section-title { color:var(--accent); font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; margin-bottom:.9rem; }
|
||||
.mf-check { display:flex; align-items:center; gap:.55rem; color:var(--text); font-size:.92rem; margin:.5rem 0; cursor:pointer; }
|
||||
.mf-check input { width:18px; height:18px; accent-color:var(--accent); }
|
||||
.mf-hint { color:var(--muted); font-size:.78rem; display:block; margin-top:.5rem; }
|
||||
.mf-footer { text-align:center; color:var(--muted); font-size:.82rem; padding:1.6rem 1rem; }
|
||||
.mf-footer a { color:var(--muted); text-decoration:none; margin:0 .15rem; }
|
||||
.mf-footer a:hover { color:var(--accent); }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="mf-theme-float"><button class="mf-theme"></button></div>
|
||||
|
||||
<div class="mf-container">
|
||||
|
||||
<div class="mf-page-head">
|
||||
<a th:href="@{/profile}" class="mf-back">⟵ Zurück zum Profil</a>
|
||||
</div>
|
||||
<span class="mf-eyebrow">Einstellungen</span>
|
||||
<h1 style="color:var(--heading); font-size:1.9rem; font-weight:800; margin:.3rem 0 .25rem;">⚙️ Einstellungen</h1>
|
||||
<p style="color:var(--muted); margin-bottom:1.4rem;">Passe Mindflux nach deinen Wünschen an</p>
|
||||
|
||||
<!-- Theme-Einstellung (Dummy) -->
|
||||
<section class="mf-panel" style="margin-bottom:1.2rem;">
|
||||
<h2 class="mf-section-title">Theme wechseln</h2>
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">Modus auswählen:</label>
|
||||
<select class="mf-select">
|
||||
<option>Standard (Dark)</option>
|
||||
<option>Hell (Light)</option>
|
||||
</select>
|
||||
</div>
|
||||
<small class="mf-hint">Hinweis: Nutze den Umschalter oben rechts, um zwischen Dark (Grün) und Light (Magenta) zu wechseln.</small>
|
||||
</section>
|
||||
|
||||
<!-- Spracheinstellung (Dummy) -->
|
||||
<section class="mf-panel" style="margin-bottom:1.2rem;">
|
||||
<h2 class="mf-section-title">Sprache</h2>
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">Sprache auswählen:</label>
|
||||
<select class="mf-select">
|
||||
<option>Deutsch</option>
|
||||
<option>Englisch</option>
|
||||
</select>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Benachrichtigungen (Dummy) -->
|
||||
<section class="mf-panel" style="margin-bottom:1.2rem;">
|
||||
<h2 class="mf-section-title">Benachrichtigungen</h2>
|
||||
<label class="mf-check"><input type="checkbox" checked> E-Mail-Benachrichtigungen erhalten</label>
|
||||
<label class="mf-check"><input type="checkbox"> Erinnerungen an Lernziele aktivieren</label>
|
||||
</section>
|
||||
|
||||
<!-- Passwort ändern -->
|
||||
<form th:action="@{/profile/change-password}" method="post" class="mf-panel" style="margin-bottom:1.2rem;">
|
||||
<h2 class="mf-section-title">🔒 Passwort ändern</h2>
|
||||
<div class="mf-field">
|
||||
<input class="mf-input" type="password" name="oldPassword" placeholder="Aktuelles Passwort" required>
|
||||
</div>
|
||||
<div class="mf-field">
|
||||
<input class="mf-input" type="password" name="newPassword" placeholder="Neues Passwort" required>
|
||||
</div>
|
||||
<button type="submit" class="mf-btn">Passwort ändern</button>
|
||||
</form>
|
||||
|
||||
<!-- Profil löschen -->
|
||||
<form th:action="@{/profile/delete}" method="post" onsubmit="return confirm('Profil wirklich löschen?');">
|
||||
<button type="submit" class="mf-btn danger">Profil löschen</button>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
|
||||
<footer class="mf-footer">
|
||||
<a href="#">Support</a>
|
||||
<a href="#">Feedback</a>
|
||||
<a href="#">Nutzungsbedingungen</a>
|
||||
<a href="#">Richtlinien</a>
|
||||
<a href="#">Datenschutz</a>
|
||||
<a href="#">Impressum</a>
|
||||
</footer>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user