# SAVEPOINT — Rippy ## Aktueller Stand **v1.8 — Dark Mode & Separation of Concerns (21.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 - ✅ 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 ### Docker-Container | Container | Port | Status | |-----------|------|--------| | rippy-api | 8000 | Healthy | | rippy-worker | - | Running | | rippy-ui | 80 | Running | | rippy-postgres | 5432 | Healthy | | rippy-redis | 6379 | Healthy | ### Features - ✅ **Etappe 3**: SQLite-Cache, TMDB/MusicBrainz/TheTVDB Clients, Pre-Scan, Metadaten-Preview - ✅ **Etappe 4**: Jellyfin-Formatierung (NFO-Generator, Image-Downloader) - ✅ **Etappe 5**: JWT-Auth (15min/7T), Rate-Limiting (100/min), API-Key-Management - ✅ **Etappe 6**: Docker read_only, tmpfs, healthchecks, minimale Images - ✅ **Etappe 7**: API UI Modernisiert, Import-Fixes, Doppelte Einträge behoben - ✅ **Etappe 8**: Dark Mode mit Theme-Toggle, Separation of Concerns - ✅ **Dokumentation**: README, KONZEPT.md, ROADMAP.md, SAVEPOINT.md ### Nächste Schritte - Job-Verlauf UI (aktuell nur leere Listen) - TMDB API Schlüssel in Arcane Environment konfigurieren - Proxmox LXC Template - Ansible Playbooks ### Separation of Concerns — Nächste Priorität - **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 ### Git-Log ``` 43dfce5 - feat(ui): implement dark mode with theme toggle rippy-ui-modern - UI Modernisiert & Import-Fixes 3d87c8c - Dokumentation aktualisiert bdb9f8d - SAVEPOINT v1.5: Sicherheit abgeschlossen efa642e - Etappe 6: Sicherheit ```