Commit Graph

83 Commits

Author SHA1 Message Date
AliceDarkest 48dfde17eb Refine BugHunter archive and feedback
mindflux-ci / build (push) Successful in 21s
2026-07-13 20:44:35 +02:00
AliceDarkest dbd1960424 Implement BugHunter game
mindflux-ci / build (push) Successful in 23s
2026-07-13 20:27:38 +02:00
AliceDarkest ea1ba38cf0 Accessibility-Icon an Kopfzeilengröße angleichen
mindflux-ci / build (push) Successful in 21s
2026-07-12 23:56:25 +02:00
AliceDarkest 548a90f15e Accessibility in Kopfzeilen integrieren und Kategorien angleichen
mindflux-ci / build (push) Successful in 22s
2026-07-12 23:51:46 +02:00
AliceDarkest a23a1b4e7e Logout-Navigation in Spielen vereinheitlichen
mindflux-ci / build (push) Successful in 22s
2026-07-12 23:42:44 +02:00
AliceDarkest 87cd63e373 Accessibility-Trigger ohne Inhaltsüberlagerung andocken
mindflux-ci / build (push) Successful in 21s
2026-07-12 23:40:16 +02:00
AliceDarkest 333af0253e Accessibility-Icon und Dyslexie-Lesemodus präzisieren
mindflux-ci / build (push) Successful in 21s
2026-07-12 23:11:21 +02:00
AliceDarkest 018efdee0f Globales Barrierefreiheitsmenü ergänzen
mindflux-ci / build (push) Successful in 21s
2026-07-12 23:05:48 +02:00
AliceDarkest 0f2c9eae86 DevLab viewportfüllend und skalierbar gestalten
mindflux-ci / build (push) Successful in 22s
2026-07-12 22:57:48 +02:00
AliceDarkest 17702554f8 SystemEscape mit zufälligen Runs und Raumpool erweitern
mindflux-ci / build (push) Successful in 22s
2026-07-12 22:48:04 +02:00
AliceDarkest 4935d00b4e CodeEscape sichtbar in SystemEscape umbenennen
mindflux-ci / build (push) Successful in 21s
2026-07-12 22:42:42 +02:00
AliceDarkest 0b0360be9d CodeEscape Spielführung und Schleusenlogik korrigieren
mindflux-ci / build (push) Successful in 22s
2026-07-12 22:39:40 +02:00
AliceDarkest edb5b36408 CodeEscape als serverautoritativen Spielmodus umsetzen
mindflux-ci / build (push) Successful in 21s
2026-07-12 22:24:50 +02:00
AliceDarkest 986f6226ef Login bereinigen und Zukunftsplan aktualisieren
mindflux-ci / build (push) Successful in 21s
2026-07-12 22:15:23 +02:00
AliceDarkest 4f99593d34 FluxTimer-Icon als Uhr mit Blitz gestalten
mindflux-ci / build (push) Successful in 20s
2026-07-12 22:12:45 +02:00
AliceDarkest 6195a11501 Dashboard-Topbar und FluxTimer-Icon verfeinern
mindflux-ci / build (push) Successful in 21s
2026-07-12 22:09:18 +02:00
AliceDarkest 02975ebb25 FluxTimer und Fundament für neue Spiele umsetzen
mindflux-ci / build (push) Successful in 21s
2026-07-12 22:03:44 +02:00
AliceDarkest 005d2d7d8c Mindflux: Sicherheit, Datenintegrität und Navigation härten 2026-07-12 21:47:37 +02:00
AliceDarkest 6fd8f8ecc8 Fix: Admin-Passwort-Reset (Direkt-Button je Nutzer) + Profilbild beim Bearbeiten nicht mehr nullen
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 20:12:17 +02:00
AliceDarkest 21c594445f Fix: Login case-insensitiv (Registrierung speichert lowercase, Login war case-sensitiv) + Passwort-Wiederholfeld
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 20:03:46 +02:00
AliceDarkest adb5646b5e Fix: Dev-Lab Debugging-Pfad-Icon (</>-Marker HTML-escapen) + Cache-Buster v4
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 18:03:55 +02:00
AliceDarkest b88962da6f Dev Lab: server-autoritatives Entwicklerlabor mit 6 Mechaniken + 189 Aufgaben
Dev Lab bündelt mehrere Disziplinen (SQL, Java/Debugging, Git, HTML, CSS, Regex,
PHP, REST) in 11 Spielen mit zusammen 189 Aufgaben. Im Gegensatz zur ersten,
rein clientseitigen Skizze jetzt server-autoritativ, DB-gestützt und im Admin
pflegbar – mit echter Mechanik-Vielfalt statt überall Lückentext:
cloze (Lücke tippen), choice (Multiple Choice), order (Bausteine zusammensetzen),
spot (Bug anklicken), match (Paare zuordnen), regex (Muster schreiben mit
Live-Treffer-Vorschau).

Prüfung und Score ausschließlich serverseitig – die Lösungen verlassen nie das
Backend; Eingabe-Platzhalter sind neutrale Labels (Lösungs-Leak behoben).
Fehler-Mechanik mit Versuchen + Hinweis + Auflösung, kein Game-Over; Score über
die generische game_scores-Tabelle (Kennung devlab, deck=Spiel-Slug).

- Entities DevLabGame/DevLabTask (JSON-payload) + Flyway V8__devlab.sql
- DevLabService mit sechs Mechanik-Checkern; API /api/devlab/** (CSRF-ausgenommen,
  devlab in KNOWN_GAMES)
- Admin /admin/devlab (Spiele + Aufgaben pflegen); polymorphe Frontend-Engine
  devlabgame.js + DB-getriebener Hub devlab.js
- Inhalte aus devlab/content.json (idempotenter Seeder); ersetzt die erste
  clientseitige Dev-Lab-Skizze (devlab.js/devlabgame.js/-game.html/-game.css neu)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 16:32:03 +02:00
AliceDarkest 4599dd12b8 Syntax Saga: neues Spiel (server-autoritativ) + 34 Seed-Missionen
Drittes Mindflux-Spiel: interaktive IT-Geschichten, in denen man den
fehlenden Code (Schlüsselwörter, Operatoren, ganze Zeilen) in eine kleine
Story tippt. Freitext-Eingabe, drei wählbare Stufen (Junior/Professional/
Senior), mehrere Lücken je Codeblock und mehrere gültige Antworten je Lücke
(optional case-insensitive). Prüfung und Score ausschließlich serverseitig –
die Lösungen verlassen nie das Backend (Anti-Cheat wie TechTacular/MindMatch).
Fehler-Mechanik: bis zu 3 Versuche mit Hinweis, dann Auflösung; kein Game-Over.

Inhalte DB-gestützt und im Admin pflegbar (/admin/syntaxsaga); 34 Seed-
Missionen (Java/SQL/Bash/Git/HTML/Python) aus syntaxsaga/content.json.

- Entities SyntaxSagaMission/Gap/Solution + Flyway V7__syntax_saga.sql
- SyntaxSagaService (Story ohne Lösung / serverseitige Prüfung / Score-Recompute)
- API /api/syntaxsaga (CSRF-ausgenommen) + Admin-CRUD
- Frontend syntaxsaga.html/js/css (Prefix ss-, theme.css-Tokens)
- Dashboard-Kachel aktiv (vorher "coming soon")

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-30 12:13:37 +02:00
AliceDarkest bbe24c67eb Mobile-Fixes: Spiele scrollbar + FinalFlux-Hub Overlap/Menue
- MindMatch/TechTacular: Boards passten auf dem Handy nicht in 100vh
  (iOS-Adressleiste) und die Seite war auf overflow:hidden gesperrt ->
  untere Felder unerreichbar. Auf <=820px jetzt scrollbar (height:auto,
  overflow-y:auto, 100dvh), Karten via aspect-ratio, Kacheln via min-height.
- FinalFlux-Hub: das generische `main {}` aus der Alt-style.css traf das
  Hub-<main class="finalflux-main"> (display:flex; width:90%; margin:auto)
  und verursachte Overlap + unerreichbares Themen-Menue. In .finalflux-main
  neutralisiert; Shell stapelt auf Mobil als display:block, Sidebar volle Hoehe.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 20:12:10 +02:00
AliceDarkest e26a0c059c Fehler-Rot von Orange abgesetzt (kuehleres Crimson)
--danger lag farblich zu nah am orangen Akzent (v.a. Light-Mode:
accent #d65116 vs danger #c61f2b). Jetzt kuehleres Crimson-Rose:
dunkel #ff4d6d, hell #be123c -> klare Abgrenzung von Orange, weiterhin
eindeutig Alarm-Rot. Erbt automatisch in alle Spiele-/Alert-States.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:48:03 +02:00
AliceDarkest bf27c9ccdc Fix: Login-Overlay im Light-Mode lesbar (Orange-Panel statt weiss-auf-weiss)
Das Overlay nutzt im Dark-Mode dunkle Surface-Toene mit Glow. Im Light-Mode
sind diese weiss -> das rechte Panel verschwand (weiss auf weiss). Per
[data-theme="light"]-Overrides bekommt es jetzt ein kraeftiges Orange-Panel
(accent-2 -> accent) mit weissem Text, Emblem und Ghost-Button. Dark-Mode
bleibt unveraendert.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:43:14 +02:00
AliceDarkest 0e4645541d Responsive: mobile Off-Canvas-Navigation + Layout-Anpassungen
- Sidebar wird auf <=820px nicht mehr ausgeblendet (kein Nav-Verlust), sondern
  zu einem Off-Canvas-Drawer mit Hamburger-Button + Backdrop (theme.js
  injiziert ihn auf allen .mf-shell-Seiten; Styles in theme.css).
- Topbar stapelt/umbricht auf Mobil (dekorativer Puls + Suche ausgeblendet,
  kleinere Begrüßung), HUD-Karten-Grid 3->2->1, breite mf-Tabellen horizontal
  scrollbar. Schließen per Backdrop, Nav-Link oder Escape.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:39:33 +02:00
AliceDarkest 34b050503d Rechtstexte, FinalFlux-Überarbeitung, neue Login-Optik, Konto-Löschung-Fix, BTTF-Farbrelaunch
- Rechtsseiten: Impressum-Platzhalter + echte Nutzungsbedingungen/AGB,
  Datenschutz (DSGVO) und Richtlinien; LegalController/ImpressumController,
  Footer app-weit verlinkt, Seiten als permitAll freigegeben.
- FinalFlux: 28 Themen / ~742 Fragen überarbeitet (plausible Distraktoren statt
  Dummy-Antworten, echte Erklärungen) + echte Lehrtexte je Seite;
  Netzwerktopologien mit Inline-SVG-Diagrammen (Stern/Bus/Ring/Mesh/Baum).
- Login/Registrierung als kombiniertes Dual-Panel (Slide-Overlay + Neon-Hover-
  Button), ausgelagert nach auth.css; Register-Duplikat -> /?registerError.
- Konto löschen repariert: @Transactional + Löschen von Spielständen,
  Achievements und Profilbild-Datei (DSGVO Art. 17). Impressum-Zurück-Link
  login-abhängig.
- App-weiter Farb-Relaunch auf "Back to the Future"-Palette: Feuer-Amber primär
  + Flux-Blau sekundär, warmer Glow; Dark/Light bleiben. Spiele-Feedback ohne
  Grün: richtig = Blau + Haken, falsch = Rot + Kreuz (neue Tokens
  --success/--danger/--secondary). Legacy-Cyan in style.css auf Variablen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-29 19:08:05 +02:00
AliceDarkest fc98e5aad1 Profilbild-Upload (413 + Auto-Skalierung) und CSRF aktivieren
- application.properties: multipart max-file/request-size auf 10MB
  (nginx client_max_body_size muss serverseitig passend gesetzt sein)
- ProfileController: hochgeladene Profilbilder werden serverseitig auf
  max. 400px herunterskaliert und als JPEG normalisiert gespeichert
  (statt der Originaldatei roh); nicht lesbare Bilder werden ignoriert
- SecurityConfig: CSRF aktiviert; Spiele-JSON-APIs (/api/games,
  /api/techtacular, /api/mindmatch) ausgenommen; GET-Logout erlaubt,
  da die Logout-Links in den Templates GET sind

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 15:22:25 +02:00
AliceDarkest 7cb6621d1b Fix: Passwort-Änderung wirft Whitelabel-Error
ProfileController.changePassword gab "profile" zurück, ohne das von
profile.html benötigte Model-Attribut `user` zu setzen -> Template-Rendering
schlug fehl (500/Whitelabel). Zudem lag das Formular auf der settings-Seite.

- changePassword nutzt jetzt PRG: Redirect auf /profile/settings mit
  Flash-Attributen (message/error) statt direktem View-Return.
- settings.html zeigt die Flash-Meldungen (Erfolg/Fehler) an.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-26 15:07:53 +02:00
AliceDarkest 9022961762 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>
2026-06-26 14:51:30 +02:00
admin f3309c1574 Message erweitert
mindflux-ci / build (push) Successful in 24s
Final testing for auto deployment
2026-06-26 11:24:56 +00:00
sysnaptik-main 93bd980516 initial commit 2026-06-25 12:29:14 +00:00