mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-16 02:19:41 +02:00
- Remove statistics feature (stores, routes, ~560 LOC) - Remove network view with D3.js graph (~1,100 LOC) - Remove session-based contact storage - Add demo contacts for unauthenticated users (10 sample contacts) - Add auth gate prompts for create/edit/delete/favorite actions - Update layout with Demo-Modus banner and event handling - ~1,760 lines of code removed for simpler, cleaner codebase Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
100 lines
3.1 KiB
Markdown
100 lines
3.1 KiB
Markdown
# Contacts App - Cleanup Plan
|
|
|
|
Dieser Plan dokumentiert Features und Code, die überdurchschnittlich viel Komplexität erzeugen bei geringem Nutzen. Ziel ist eine schlankere, wartbarere Codebase.
|
|
|
|
## Status-Legende
|
|
|
|
- ✅ Erledigt
|
|
- 🔄 In Bearbeitung
|
|
- ⏳ Geplant
|
|
- ❌ Abgelehnt
|
|
|
|
---
|
|
|
|
## Geplante Aufräumarbeiten
|
|
|
|
### Priorität 1: Quick Wins (Hoher ROI)
|
|
|
|
#### ✅ 1.1 Statistiken entfernen
|
|
|
|
**Status:** Erledigt
|
|
**Geschätzte Ersparnis:** ~560 Zeilen
|
|
**Komplexität:** MITTEL | **Nutzen:** NIEDRIG
|
|
|
|
**Beschreibung:**
|
|
Analytics-Dashboard mit Activity Heatmap, Trend Charts, Donut Charts. Geringe Nutzung bei hoher Komplexität.
|
|
|
|
**Entfernte Dateien:**
|
|
- `src/lib/stores/statistics.svelte.ts` (~276 Zeilen)
|
|
- `src/routes/(app)/statistics/+page.svelte` (~282 Zeilen)
|
|
|
|
**Geänderte Dateien:**
|
|
- `src/routes/(app)/+layout.svelte` - Nav-Item entfernt
|
|
|
|
---
|
|
|
|
#### ✅ 1.2 Network View entfernen
|
|
|
|
**Status:** Erledigt
|
|
**Geschätzte Ersparnis:** ~1.100 Zeilen
|
|
**Komplexität:** HOCH | **Nutzen:** NIEDRIG
|
|
|
|
**Beschreibung:**
|
|
D3.js Force-Directed Graph zur Visualisierung von Kontakt-Beziehungen. Komplex (Force Simulation, Node Dragging, Filtering) aber wenig genutzt.
|
|
|
|
**Entfernte Dateien:**
|
|
- `src/lib/stores/network.svelte.ts` (~540 Zeilen)
|
|
- `src/lib/api/network.ts` (~50 Zeilen)
|
|
- `src/lib/components/network/NetworkGraph.svelte`
|
|
- `src/lib/components/network/NetworkControls.svelte`
|
|
- `src/lib/components/views/ContactNetworkView.svelte`
|
|
|
|
**Geänderte Dateien:**
|
|
- `src/lib/components/ContactList.svelte` - Network-View entfernt
|
|
- `src/lib/components/ContactsToolbarContent.svelte` - Network-Controls entfernt
|
|
|
|
---
|
|
|
|
#### ✅ 1.3 Session Contacts → Demo-Modus
|
|
|
|
**Status:** Erledigt
|
|
**Geschätzte Ersparnis:** ~100 Zeilen (netto)
|
|
**Komplexität:** MITTEL | **Nutzen:** HOCH (bessere UX)
|
|
|
|
**Beschreibung:**
|
|
Wie bei Calendar/Todo: Session-basiertes Kontakt-Management durch statischen Demo-Modus ersetzen. Statt frustrierender UX (Kontakte verschwinden bei Tab-Schließung) zeigt die App Beispiel-Kontakte.
|
|
|
|
**Entfernte Dateien:**
|
|
- `src/lib/stores/session-contacts.svelte.ts` (~236 Zeilen)
|
|
|
|
**Neue Dateien:**
|
|
- `src/lib/data/demo-contacts.ts` (~215 Zeilen) - 10 Demo-Kontakte
|
|
|
|
**Geänderte Dateien:**
|
|
- `src/lib/stores/contacts.svelte.ts` - Demo-Kontakte statt Session-Logik
|
|
- `src/routes/(app)/+layout.svelte` - Demo-Banner, Auth-Gate Events
|
|
- `src/lib/components/ContactList.svelte` - Auth-Gate bei Favoriten
|
|
- `src/lib/components/ContactDetailModal.svelte` - Auth-Gate bei Demo-Kontakten
|
|
- `src/lib/components/NewContactModal.svelte` - Auth-Gate bei Erstellung
|
|
- `src/lib/components/AuthGateModal.svelte` - Angepasste Demo-Modus Texte
|
|
|
|
---
|
|
|
|
## Zusammenfassung
|
|
|
|
| Phase | Features | LOC Ersparnis | Status |
|
|
|-------|----------|---------------|--------|
|
|
| 🟢 Prio 1.1 | Statistiken | ~560 | ✅ Erledigt |
|
|
| 🟢 Prio 1.2 | Network View | ~1.100 | ✅ Erledigt |
|
|
| 🟢 Prio 1.3 | Sessions → Demo | ~100 | ✅ Erledigt |
|
|
| **Gesamt** | | **~1.760** | ✅ |
|
|
|
|
**Erreicht:** ~20% Code-Reduktion bei gleichem/besserem Nutzererlebnis
|
|
|
|
---
|
|
|
|
## Changelog
|
|
|
|
| Datum | Aktion | Commit |
|
|
|-------|--------|--------|
|
|
| 2026-01-28 | Statistiken, Network View, Session Contacts entfernt; Demo-Modus implementiert | - |
|