- Updated styles in style.css to improve overall design consistency and introduced CSS variables for better theming. - Refined ChatWindow.vue with improved no-conversation styling and adjusted image borders for a cleaner look. - Enhanced HistoryView.vue and InboxView.vue with new panel styles for better user experience and readability. - Revamped LoginForm.vue to provide a more engaging user interface with a landing page layout and cookie-based profile persistence. - Improved MenuBar.vue and SearchView.vue with active state indicators and refined item displays for better navigation. - Added logout functionality in chat store and server routes to manage user sessions effectively. - Introduced a new mockup view route for design previews. These changes collectively enhance the user experience and visual appeal of the application.
8.7 KiB
e# Design-Konzept: Modernisierung SingleChat
Zielbild
SingleChat soll moderner, ruhiger und effizienter wirken, ohne seinen funktionalen Charakter zu verlieren. Die Oberfläche bleibt kompakt und schnell erfassbar, bekommt aber:
- eine konsistentere Farbwelt
- dezentere Rundungen
- klarere Hierarchien
- bessere mobile Nutzbarkeit
- mehr optische Ruhe bei gleicher Informationsdichte
Das Ziel ist keine komplette Neugestaltung, sondern ein kontrolliertes Redesign mit klarer Wiedererkennbarkeit.
Beobachtungen im aktuellen UI
- Das Hauptgrün ist sehr dominant und wird auf vielen Flächen vollflächig eingesetzt.
- Navigation, Userliste und Chat konkurrieren visuell stark miteinander.
- Abstände und Höhen sind teilweise grob, dadurch wirkt die Oberfläche weniger präzise und nicht platzsparend.
- Farben codieren Geschlechter stark, aber ohne neutrales Basissystem um diese Akzentfarben herum.
- Mobile Nutzung ist nur eingeschränkt vorbereitet, weil die Desktop-Struktur sehr starr ist.
Design-Prinzipien
- Kompakt vor luftig: wenig vertikale Höhe verschwenden.
- Neutraler Grundaufbau, Akzentfarbe nur gezielt einsetzen.
- Rundungen ja, aber klein bis mittel: modern, nicht verspielt.
- Hohe Kontraste für Lesbarkeit, aber weichere Flächenkontraste.
- Eine saubere visuelle Hierarchie: App-Rahmen, Navigation, Liste, Chat, Eingabe.
- Responsive first ab Tablet abwärts, ohne Desktop-Stärke zu verlieren.
Visuelle Richtung
Grundcharakter
Die App soll wie ein modernes, nüchternes Messaging-Tool wirken:
- heller, neutraler Grundton
- gedämpftes Grün als Markenfarbe
- weiche Grauabstufungen für Flächen und Grenzen
- gezielte Statusfarben statt bunter Dauerflächen
Farbstrategie
Die bisherige grüne Identität bleibt erhalten, wird aber deutlich verfeinert.
Primärpalette
Primary 700:#245c3aPrimary 600:#2f6f46Primary 500:#3d8654Primary 100:#e7f1ea
Neutrale Flächen
Bg App:#f4f6f5Bg Panel:#ffffffBg Subtle:#eef2efBorder:#d7dfd9Text Strong:#18201bText Muted:#5f6b63
Status-/Akzentfarben
Diese Farben nur als Marker, Badge oder kleine Flächen einsetzen, nicht mehr als große Vollflächen:
- Info/aktiv:
#3f7cac - Erfolg:
#3d8654 - Warnung:
#c78a2c - Fehler:
#c55252
Geschlechterkennzeichnung
Die Geschlechterfarben sollten erhalten bleiben, aber stark abgeschwächt werden:
- nicht als Vollton-Hintergrund der kompletten User-Zeile
- stattdessen als linke Farbleiste, Punktindikator oder Badge
- Text bleibt auf neutralem Hintergrund
Dadurch bleibt die Kodierung sichtbar, ohne die Lesbarkeit und Ruhe zu stören.
Formensprache
Rundungen
- Panels:
10px - Inputs/Buttons:
8px - Kleine Tags/Badges:
999px - Message-Bubbles:
10px
Damit wirkt die App zeitgemäß, bleibt aber sachlich.
Schatten und Linien
- Statt starker Schatten: feine Konturen
- Schatten nur für Layer-Wechsel, z. B. mobiles Panel oder Bild-Modal
- Standardgrenze:
1px solid #d7dfd9
Typografie
Die vorhandene Noto Sans-Basis ist sinnvoll, vor allem wegen der Sprachabdeckung. Sie sollte beibehalten werden.
Empfohlene Hierarchie:
- App-Titel:
20px / 600 - Bereichstitel:
16px / 600 - Standardtext:
14px / 400 - Meta-Text:
12px / 500 - Buttons/Navigation:
13px / 600
Wichtig:
- geringere Zeilenhöhen in Steuerbereichen
- mehr Gewichtsunterschied statt mehr Schriftgröße
Layout-Konzept
Desktop
Empfohlene Struktur:
- obere App-Bar mit Branding und Status
- darunter kompakte Aktionsleiste
- links Userliste
- rechts Hauptbereich mit Chat/Header/Input
Größen
- Header:
48px - Aktionsleiste:
40px - Userliste:
260pxStandardbreite - Chat-Header:
52px - Eingabebereich:
56pxbis64px
Die vertikale Verdichtung ist wichtig, damit mehr Chat-Inhalt sichtbar bleibt.
Tablet
- Userliste auf
220pxreduzieren - Menüeinträge enger setzen
- Meta-Informationen im Chat-Header stärker verdichten
Mobile
Die App sollte auf kleineren Breiten nicht dreispaltig bleiben.
Stattdessen:
- Userliste als einblendbares Off-Canvas-Panel
- Hauptnavigation horizontal scrollbar oder als Icon/Text-Leiste
- Chatbereich füllt die Breite vollständig
- Chat-Header mit Nutzername in einer Zeile, Meta in zweiter kleiner Zeile
- Eingabebereich sticky am unteren Rand
Komponenten-Konzept
1. Header
Aktuell sehr schlicht. Neu:
- weißes oder leicht getöntes Panel
- kleineres, präziseres Branding
- optional rechts Session-/Statusinformationen
- klare Unterkante mit feiner Border statt harter Farbfläche
2. Menüleiste
Ziel:
- weniger laut
- kompakter
- besser scannbar
Empfehlung:
- Buttons als sekundäre Tabs oder Segment-Buttons
- aktiver Punkt über Hintergrundtönung statt kräftiger Vollfarbe
- Ungelesen-Zähler als Badge
- Timeout und aktiver Chat als Meta-Info statt als dominante Blöcke
3. Userliste
Ziel:
- dichter, moderner, besser filterbar wirkend
Empfehlung:
- Zeilenhöhe ca.
36pxbis40px - Flagge kleiner und sauber ausgerichtet
- Username links, Alter/Geschlecht als Meta rechts oder in zweiter reduzierter Textspur
- Geschlecht über Badge/Farbmarker statt komplette Hintergrundfarbe
- Hover nur leicht getönt
- aktive Auswahl klar, aber nicht grell
4. Chat-Header
Aktuell stark farbig nach Geschlecht. Neu:
- neutraler Header mit kleinem Farbakzent
- Name prominent, Meta-Infos sekundär
- optional Statuspunkt oder Marker links
Beispiel:
- linke 4px-Akzentleiste nach Geschlecht
- weißer Hintergrund
- Name dunkel
- Alter/Land in
Text Muted
5. Nachrichtenbereich
Ziel:
- besser lesbare Nachrichten
- klarere Trennung zwischen eigener und fremder Nachricht
- trotzdem kompakt
Empfehlung:
- Nachrichten als Bubble mit leichter Tönung
- eigene Nachrichten leicht grünlich-neutral
- fremde Nachrichten weiß
- Username klein, aber klar erkennbar
- Timestamp nur per Hover oder sehr subtil
- weniger Rahmen, mehr Fläche und Abstandssystem
6. Eingabebereich
Ziel:
- platzsparend
- mobil belastbar
- moderne Interaktion
Empfehlung:
- Eingabefeld als primäre Fläche
- Senden-Button kompakt
- Smiley/Bild als Icon-Buttons mit identischer Größe
- obere Border statt massiver grauer Box
- Smiley-Leiste als kleines Popover statt großer Block
7. Login-Bereich
Ziel:
- freundlicher erster Eindruck
- kompakteres Formular
Empfehlung:
- Formular in Card-Layout
- zweispaltig auf breiteren Screens, einspaltig mobil
- Labels kleiner, Felder konsistent hoch
- Willkommenstext visuell vom Formular getrennt
8. Tabellen und Systemmeldungen
Empfehlung:
- Systemmeldungen mit getönter Fläche und weicher Border
- Befehlstabellen mit sticky Header beibehalten
- Tabellen kompakter paddings, aber bessere Zeilentrennung
Spacing-System
Ein festes Raster reduziert visuelle Unruhe.
Empfehlung:
4px8px12px16px24px
Regel:
- Innenabstände in Controls meist
8pxoder12px - Bereichsabstände meist
12pxoder16px - keine beliebigen Einzelwerte mehr
Responsive-Regeln
Breakpoints
>= 1200px: voller Desktop< 1200px: kompakter Desktop/Tablet< 900px: Userliste schmaler, Navigation enger< 720px: Userliste als Overlay/Drawer< 560px: Aktionsleiste stark verdichten, nur wichtigste Texte sichtbar
Mobile Prioritäten
- aktive Konversation hat Vorrang vor Nebenspalten
- Bedienelemente müssen einhändig erreichbar bleiben
- keine horizontalen Layoutbrüche
- Chatinput immer sichtbar
Interaktionsdetails
- Hover-Effekte sehr leicht halten
- Fokus-Zustände klar sichtbar, farblich aus Primärpalette
- Animationen kurz und funktional, z. B.
120msbis180ms - Keine permanente Pulsen-Animation für Inbox mehr; Badge oder sanfter Highlight-Zustand reicht meist aus
Technische Empfehlung für die Umsetzung
Design Tokens in client/src/style.css
Zuerst zentrale CSS-Variablen definieren:
- Farben
- Radius
- Shadow
- Border
- Spacing
- Höhen wichtiger UI-Bausteine
Beispielhafte Token-Gruppen:
--color-bg-app--color-bg-panel--color-border--color-primary--radius-md--space-2--header-height
Danach komponentenweise umbauen
Sinnvolle Reihenfolge:
- globale Tokens und App-Hintergrund
- Header und Menüleiste
- Userliste
- Chat-Header und Nachrichten
- Eingabebereich
- Login und Nebenansichten
- Responsive Verhalten
Nicht-Ziele
- kein komplettes Rebranding
- keine starke Glasoptik
- keine großen Rundungen
- keine farblich überladene Gender-Codierung
- keine luftige SaaS-Optik mit verschwendetem Platz
Ergebnisbild in einem Satz
SingleChat soll nach der Überarbeitung wie ein kompaktes, modernes Chat-Tool wirken: ruhig, klar strukturiert, responsiv, markentreu grün und deutlich hochwertiger, ohne unnötig anders auszusehen.