feat(ui): SoC Refactoring & Config Validation

- Theme Context ausgelagert (ThemeContext.tsx + useDarkMode.ts)
- Config Validation mit TMDB-API-Key Pflicht (config_validation.py)
- Cache Key Centralization (cache/keys.py)
- CD-Ripping mit abcde implementiert (Worker)
- Docker Compose mit Healthchecks & LOG_LEVEL
- ROADMAP.md & SAVEPOINT.md aktualisiert
This commit is contained in:
Hitonabi
2026-07-22 16:38:19 +02:00
parent e710151c91
commit 95c1f9b105
18 changed files with 406 additions and 104 deletions
+13 -7
View File
@@ -2,19 +2,23 @@
## Aktueller Stand
**v1.8Dark Mode & Separation of Concerns (21.07.2026)**
**v1.9SoC Refactoring & Config Validation (22.07.2026)**
Rippy läuft auf Arcane VM (192.168.178.162):
- ✅ Arcane WebUI: http://192.168.178.162:3552
- ✅ Rippy UI: http://192.168.178.162:80
- ✅ Rippy API: http://192.168.178.162:8000
-Dark Mode mit Theme-Toggle und localStorage persistence
-Theme Context ausgelagert (App.tsx → ThemeContext.tsx + useDarkMode.ts)
- ✅ Config Validation mit TMDB-API-Key Pflicht
- ✅ Cache Key Centralization (cache/keys.py)
- ✅ Dark Mode mit Theme-Toggle und localStorage persistence (UI-Only)
- ✅ Sidebar Navigation mit Dark Mode Support
- ✅ Einstellungen-Page mit Tab-Struktur
- ✅ Doppelte Arcane-Einträge behoben (`rippy` statt `Rippy`)
- ✅ Import-Fixes (relative → absolute Imports)
- ✅ Git Sync in Arcane konfiguriert
- ✅ Commit: `43dfce5` — Dark Mode Implementation
- ✅ Commit: `v1.9` — SoC Refactoring
### Docker-Container
@@ -43,12 +47,14 @@ Rippy läuft auf Arcane VM (192.168.178.162):
- Proxmox LXC Template
- Ansible Playbooks
### Separation of Concerns — Nächste Priorität
### SoC Refactoring — Abgeschlossen (Etappe 9)
- **Theme-Context**: Theme-Logik aus App.tsx in eigenes Context抽出
- **Dark Mode Utility**: CSS-Klassen-Helper als Utility-Funktion
- **Component-Struktur**: Dark Mode props von inneren Komponenten verstecken
- **Tailwind-Config**: Dark mode Konfiguration zentralisieren
- **Theme-Context**: Theme-Logik aus App.tsx ausgelagert
- **Dark Mode Utility**: useDarkMode Hook implementiert
- **Component-Struktur**: Dark Mode props von inneren Komponenten versteckt
- **Config Validation**: TMDB-API-Key ist Pflicht
-**Cache Key Centralization**: cache/keys.py erstellt
-**CD-Ripping**: abcde-Integration implementiert
### Git-Log