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,90 @@
|
||||
<!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 – Deine Zukunft beginnt hier</title>
|
||||
<link rel="stylesheet" href="/css/theme.css">
|
||||
<script src="/js/theme.js"></script>
|
||||
<style>
|
||||
.mf-auth { width:100%; max-width:880px; display:grid; grid-template-columns:1.1fr 1fr; gap:1.4rem; align-items:stretch; }
|
||||
.mf-auth .info { background:var(--surface); border:1px solid var(--border); border-radius:18px; padding:2rem; box-shadow:var(--g-soft); }
|
||||
.mf-auth .info h2 { color:var(--heading); font-size:1.25rem; font-weight:800; margin-bottom:.7rem; }
|
||||
.mf-auth .info p { color:var(--muted); font-size:.92rem; line-height:1.6; margin-bottom:.8rem; }
|
||||
.mf-authlogo { display:flex; flex-direction:column; align-items:center; gap:.5rem; margin-bottom:1.4rem; text-align:center; }
|
||||
.mf-authlogo .mark { width:64px; height:64px; background:var(--accent);
|
||||
-webkit-mask:url("/img/mindflux-emblem.png") center/contain no-repeat; mask:url("/img/mindflux-emblem.png") center/contain no-repeat;
|
||||
filter:drop-shadow(0 0 12px var(--glow-s)); }
|
||||
.mf-authlogo b { color:var(--accent); font-weight:800; letter-spacing:.16em; font-size:1.2rem; text-shadow:0 0 14px var(--glow-s); }
|
||||
.mf-authlogo span { color:var(--muted); font-size:.62rem; letter-spacing:.24em; }
|
||||
.login-box h2 { color:var(--heading); font-size:1.15rem; font-weight:800; margin-bottom:1.1rem; text-align:center; }
|
||||
.login-box .alt { color:var(--muted); font-size:.85rem; text-align:center; margin:1.1rem 0 .6rem; }
|
||||
.login-box .mf-btn { width:100%; }
|
||||
.mf-foot { margin-top:1.6rem; color:var(--muted); font-size:.78rem; text-align:center; line-height:2; }
|
||||
.mf-foot a { color:var(--muted); text-decoration:none; }
|
||||
.mf-foot a:hover { color:var(--accent); }
|
||||
@media (max-width:760px){ .mf-auth { grid-template-columns:1fr; } }
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="mf-theme-float"><button class="mf-theme"></button></div>
|
||||
|
||||
<div class="mf-center">
|
||||
<div>
|
||||
<div class="mf-auth">
|
||||
<!-- Infotext -->
|
||||
<div class="info">
|
||||
<p class="mf-eyebrow" style="margin-bottom:.6rem">Willkommen bei Mindflux</p>
|
||||
<h2>Worum geht's bei Mindflux?</h2>
|
||||
<p>
|
||||
Mindflux ist deine moderne Lernplattform zur gezielten Prüfungsvorbereitung in der IT-Ausbildung.
|
||||
Trainiere Fragen, baue dein Wissen auf – und das mit Stil.
|
||||
Unterstützt von Zeitreise-Ästhetik, Technik-Liebe und einer ordentlichen Portion Motivation.
|
||||
</p>
|
||||
<p>
|
||||
Registriere dich kostenlos, erstelle Quizfragen, lerne systematisch – und bring dein Wissen auf 88 Meilen pro Stunde 🚀
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Login/Registrierung -->
|
||||
<div class="mf-cardbox login-box">
|
||||
<div class="mf-authlogo">
|
||||
<span class="mark"></span>
|
||||
<b>MINDFLUX</b>
|
||||
<span>DEIN FLUXKOMPENSATOR FÜRS GEHIRN</span>
|
||||
</div>
|
||||
|
||||
<h2>Login</h2>
|
||||
<form th:action="@{/login}" method="post">
|
||||
<div class="mf-field">
|
||||
<label class="mf-label" for="username">Benutzername</label>
|
||||
<input id="username" class="mf-input" type="text" name="username" placeholder="Benutzername" required />
|
||||
</div>
|
||||
<div class="mf-field">
|
||||
<label class="mf-label" for="password">Passwort</label>
|
||||
<input id="password" class="mf-input" type="password" name="password" placeholder="Passwort" required />
|
||||
</div>
|
||||
<button class="mf-btn" type="submit">Einloggen</button>
|
||||
</form>
|
||||
|
||||
<p class="alt">Noch keinen Account?</p>
|
||||
<form th:action="@{/register}" method="get">
|
||||
<button class="mf-btn outline" type="submit">Registrieren</button>
|
||||
</form>
|
||||
</div>
|
||||
</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>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user