# UI Responsive Mache die App vollständig responsive – Mobile, Tablet und Desktop. ## Ziel-Design ``` iPhone (<768px): Bottom Navigation, volle Breite (wie jetzt) iPad (768-1024px): Bottom Navigation, 2-spaltige Cards Desktop (>1024px): Sidebar Navigation links, Content rechts, volle Breite ``` ## Wichtige Regel: **Erst planen, dann umsetzen.** Zeige den Plan und warte auf Bestätigung. ## Schritt 1: Analyse Analysiere folgende Dateien: - `frontend/src/app.css` – aktuelle CSS-Variablen und globale Styles - `frontend/src/App.jsx` – Navigation und Layout-Struktur - `frontend/src/pages/Dashboard.jsx` – repräsentative Seite ## Schritt 2: Plan vorlegen Zeige: 1. Welche CSS-Breakpoints werden eingeführt 2. Wie ändert sich die Navigation (Bottom ? Sidebar) 3. Welche Komponenten müssen angepasst werden 4. Geschätzter Aufwand ## Schritt 3: CSS-Variablen und Breakpoints Neue Breakpoints in `app.css`: ```css /* Breakpoints */ --bp-mobile: 768px; --bp-tablet: 1024px; /* Layout */ --sidebar-width: 220px; --content-max-width: 1200px; ``` ## Schritt 4: Layout-Komponente erstellen Neue Datei `frontend/src/components/AppLayout.jsx`: ```jsx // Erkennt Screen-Größe und rendert: // - Mobile/Tablet: Bottom Navigation (wie jetzt) // - Desktop: Sidebar Navigation + Content-Bereich ``` ## Schritt 5: Navigation anpassen **Mobile (wie jetzt):** ```jsx ``` **Desktop (neu):** ```jsx
{children}
``` ## Schritt 6: Cards responsiv machen ```css /* Mobile: 1 Spalte */ .metric-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; } /* Desktop: 4 Spalten */ @media (min-width: 1024px) { .metric-grid { grid-template-columns: repeat(4, 1fr); } } ``` ## Schritt 7: Testen ```bash # Frontend build testen cd frontend && npm run build ``` Browser-Test auf: - iPhone (375px) – Safari - iPad (768px) – Browser DevTools - Desktop (1440px) – Browser normal ## Jinkendo Design-Regeln beibehalten: - Farben: var(--accent) #1D9E75, var(--bg), var(--surface) - Border-Radius: 12px Cards, 8px Buttons - Keine externen CSS-Frameworks - Inline-Styles + globale CSS-Variablen - PWA auf iPhone muss weiterhin funktionieren ## Nach dem Umbau: - Commit mit `feat: responsive layout – sidebar on desktop` - Push auf develop - Testen auf dev.mitai.jinkendo.de auf verschiedenen Screens - Erst nach Freigabe: /merge-to-prod