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,67 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="de" data-theme="dark"
|
||||
xmlns:th="http://www.thymeleaf.org"
|
||||
xmlns:sec="https://www.thymeleaf.org/thymeleaf-extras-springsecurity6">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Benutzer bearbeiten</title>
|
||||
<link rel="stylesheet" href="/css/theme.css">
|
||||
<script src="/js/theme.js"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="mf-theme-float"><button class="mf-theme"></button></div>
|
||||
|
||||
<div class="mf-container" style="max-width:560px">
|
||||
|
||||
<div class="mf-page-head">
|
||||
<a th:href="@{/admin/users}" class="mf-back">⟵ Zurück zur Benutzerliste</a>
|
||||
</div>
|
||||
|
||||
<header style="margin-bottom:1.4rem">
|
||||
<div class="mf-eyebrow">Benutzer</div>
|
||||
<h1 style="color:var(--heading); font-size:1.75rem; font-weight:800; margin-top:.35rem">✏️ Benutzer bearbeiten</h1>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<form th:action="@{/admin/users/save}" th:object="${user}" method="post" class="mf-panel">
|
||||
<input type="hidden" th:field="*{id}" />
|
||||
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">Benutzername</label>
|
||||
<input class="mf-input" type="text" th:field="*{username}" required/>
|
||||
</div>
|
||||
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">Passwort</label>
|
||||
<input class="mf-input" type="password" name="password" th:required="${user.id == null}" autocomplete="new-password"/>
|
||||
</div>
|
||||
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">E-Mail</label>
|
||||
<input class="mf-input" type="email" th:field="*{email}" required/>
|
||||
</div>
|
||||
|
||||
<div class="mf-field">
|
||||
<label class="mf-label">Rolle</label>
|
||||
<input class="mf-input" type="text" th:field="*{role}" required/>
|
||||
</div>
|
||||
|
||||
<button type="submit" class="mf-btn" style="margin-top:.4rem">Speichern</button>
|
||||
</form>
|
||||
</main>
|
||||
|
||||
</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