diff --git a/.superpowers/brainstorm/947899-1777303942/content/ux-analysis-overview.html b/.superpowers/brainstorm/947899-1777303942/content/ux-analysis-overview.html new file mode 100644 index 0000000..ef53c8d --- /dev/null +++ b/.superpowers/brainstorm/947899-1777303942/content/ux-analysis-overview.html @@ -0,0 +1,777 @@ + + +
+ + +70 % Mobile-PWA · 30 % Desktop · 11 Module · Vanilla JS · Kein Build-Step
+.modal-panel__close nutzt --target-md (40 px).
+ Das iOS-Minimum liegt bei 44 pt. Auf kleinen Displays — gerade beim
+ Schließen tippend — ist das ein spürbares Frustrationspotenzial.
+ .widget__link hat 12 px Text, kein explizites min-height.
+ Der effektive Tippbereich ist ~16–18 px — weit unter 44 px.
+ Auf dem Dashboard ist dieser Link auf jedem Widget sichtbar.
+ layout.css existieren zwei nahezu identische FAB-Klassen (.fab
+ und .page-fab) mit unterschiedlicher bottom-Berechnung.
+ Das erzeugt inkonsistente Positionierung auf verschiedenen Seiten.
+ Welcher Icon ist "Geburtstage"?
+Sofort klar durch title-Tooltip
+--target-base statt --target-md
+ { id, visible } — kein
+ Reihenfolge-Feld. Für Familien mit verschiedenen Prioritäten ist das stark limitierend.
+ reminders.css wird laut Observations global geladen,
+ nicht lazy. Auf Seiten ohne Reminder-UI werden unnötige Styles
+ geparst. Kein Blocking-Problem, aber vermeidbare CSS-Last.
+ 70 % Mobile-PWA · 30 % Desktop · 11 Module · Vanilla JS
+.modal-panel__close nutzt --target-md (40 px). iOS-Minimum ist 44 pt. Auf kleinen Screens spürbares Frustrationspotenzial..widget__link: 12 px Text, kein min-height. Effektiver Tippbereich ~16–18 px. Auf jedem Dashboard-Widget vorhanden.bottom-Berechnung erzeugen inkonsistente Positionierung auf verschiedenen Seiten.{ id, visible } — kein order-Feld. Familien mit verschiedenen Prioritäten können das Dashboard nicht sinnvoll anpassen.13 Punkte · 4 kritisch · 5 hoch · 4 mittel
+Kein Hinweis
was die Icons bedeuten
Tooltip bei
Hover/Focus sichtbar
Tap-Target ≈ 16 px Höhe
+Tap-Target ≥ 32 px mit Padding
+Verschiedene bottom-Werte → visuell inkonsistent je nach Seite
+Alle Seiten nutzen .page-fab, .fab wird entfernt oder als Alias gesetzt
+Reihenfolge fest codiert — nicht änderbar
+⠿ Handle zum Sortieren — gespeichert in localStorage
+Erscheint unter Nav-Bar, verschwindet automatisch wenn online
+→ Alle DELETE-Aktionen über eine zentrale deleteWithUndo(url, label) Funktion routen
+ pointerdown + pointermove auf .toast → bei
+ >40 px horizontaler Bewegung toast--out Klasse setzen und entfernen.
+ Entspricht iOS/Android-Konvention. Ca. 30 Zeilen JS.
+
+ Das bestehende .swipe-row Pattern auf Kontakte, Notizen und Geburtstage
+ ausweiten. Die Basis-CSS existiert bereits in layout.css —
+ nur modul-spezifische Reveal-Farben und JS-Handler ergänzen.
+
+ Widget-Icons auf neutrale --color-text-secondary setzen, Widget-Akzentfarbe
+ nur für Badge und Link reservieren. Reduziert visuelle Überforderung wenn alle
+ 11 Widgets gleichzeitig sichtbar sind.
+
+ reminders.css dynamisch per <link rel="stylesheet">
+ nur in den Seiten laden, die Reminders anzeigen — analog zum bestehenden
+ Lazy-Loading-Pattern für Page-Module.
+