9022961762
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>
68 lines
1.7 KiB
HTML
68 lines
1.7 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="de" xmlns:th="http://www.thymeleaf.org">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<title>Login – Mindflux</title>
|
||
<style>
|
||
body {
|
||
font-family: Arial, sans-serif;
|
||
max-width: 400px;
|
||
margin: 50px auto;
|
||
padding: 2rem;
|
||
border: 1px solid #ccc;
|
||
border-radius: 8px;
|
||
}
|
||
h2 {
|
||
text-align: center;
|
||
}
|
||
label {
|
||
display: block;
|
||
margin: 1rem 0 0.3rem;
|
||
}
|
||
input {
|
||
width: 100%;
|
||
padding: 0.5rem;
|
||
}
|
||
button {
|
||
margin-top: 1rem;
|
||
width: 100%;
|
||
padding: 0.7rem;
|
||
background-color: #4CAF50;
|
||
color: white;
|
||
border: none;
|
||
border-radius: 4px;
|
||
cursor: pointer;
|
||
}
|
||
.message {
|
||
margin-top: 1rem;
|
||
text-align: center;
|
||
}
|
||
.error {
|
||
color: red;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<h2>Login</h2>
|
||
|
||
<form th:action="@{/login}" method="post">
|
||
<label for="username">Benutzername</label>
|
||
<input type="text" id="username" name="username" required th:value="${param.username}"/>
|
||
|
||
<label for="password">Passwort</label>
|
||
<input type="password" id="password" name="password" required/>
|
||
|
||
<div class="message error" th:if="${param.error}">
|
||
Benutzername oder Passwort sind falsch.
|
||
</div>
|
||
|
||
<div class="message" th:if="${param.logout}">
|
||
Du hast dich erfolgreich abgemeldet.
|
||
</div>
|
||
|
||
<button type="submit">Einloggen</button>
|
||
</form>
|
||
</body>
|
||
</html>
|