Skip to content

Polish/touch targets 412 - #101

Merged
BEKO2210 merged 4 commits into
mainfrom
polish/touch-targets-412
Aug 24, 2026
Merged

Polish/touch targets 412#101
BEKO2210 merged 4 commits into
mainfrom
polish/touch-targets-412

Conversation

@BEKO2210

Copy link
Copy Markdown
Owner

Description

Type of Change

  • Bug fix (non-breaking change that fixes an issue)
  • New feature (non-breaking change that adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Refactoring (no functional changes)
  • Performance improvement
  • CI/CD changes

Related Issues

Screenshots

Before After

Checklist

  • My code follows the project's style guidelines
  • I have performed a self-review of my code
  • All UI text is in German with correct umlauts (or uses i18n keys)
  • I have added translation keys for both de and en if new text was added
  • npm run build completes without errors
  • npm run test passes all tests
  • npx tsc --noEmit reports no type errors
  • No unused imports or variables (noUnusedLocals: true)
  • Tailwind classes used (no separate CSS files)
  • Lucide React icons used (no other icon libraries)

Testing

  • Tested in Chrome
  • Tested in Firefox/Safari
  • Tested on mobile
  • Tested offline functionality
  • Tested dark mode
  • Tested light mode

BEKO2210 and others added 4 commits August 24, 2026 11:47
Gemessen mit Playwright bei 412x915 (entspricht dem Samsung A15).
Vorher unter 44px: Lagerort-Loeschen 26x26, Listen-Aktionen 32x32,
Rechtstexte-Links 24px, Sync-Buttons 36px, Formular-Buttons 38-42px.
Jetzt: 0 Elemente unter 44px auf allen Tabs und im Produktformular.

- min-h/min-w 44px fuer alle Buttons, Links, Inputs und Selects
- Icon-Zeile der Produktkarten linksbuendig zum Text (-ms-3)
- "Archiv anzeigen" und "Alle" rechtsbuendig zu den Karten (-me-2)
- Hauptbereich: Innenabstand unten auf 7.5rem + safe-area,
  damit die letzte Karte nicht hinter der Navigationsleiste liegt
- Leerer Zustand: beide Buttons gleich breit, Sekundaerbutton in
  Markenfarbe statt Grau
- MHD-Verteilung: Legende zaehlt jetzt auch "kritisch" mit,
  Legendentext von 9.6px auf 12px
- Kategorien-Karte streckt sich nicht mehr auf Zeilenhoehe

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQtq3HymU7S6JrHKY8dpzU
Tiefere Depot-Gruentoene, Messing-Akzent, Bebas-Versalien und
Mono-Zahlen als Grundlage. Unvollstaendig — die App wird nativ neu
gebaut, dieser Stand bleibt nur als Referenz auf dem Branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQtq3HymU7S6JrHKY8dpzU
Die App liest sich jetzt wie ein Inventarblatt statt wie ein
Standard-Dashboard:

- Farbfundament: Flaechen deutlich tiefer (primary-600..900 neu),
  ein Messing-Akzent (--pt-accent, aus der vorhandenen Khaki-Reihe)
  traegt alle Beschriftungen und Struktur. Rot/Orange/Gruen sind nur
  noch Statusfarben — die Regenbogen-Icons (blau/lila/cyan/gelb) in
  Dashboard, Einstellungen und Featurelisten sind raus.
- Typografie: Bebas Neue fuer Seitentitel, Abschnitts-Beschriftungen
  (.eyebrow) und die Navigation; JetBrains Mono mit Tabellenziffern
  (.num) fuer alle Zahlen, Mengen und Datumsangaben.
  line-height 1.1, damit Umlaut-Punkte (VORRAETE) nicht clippen.
- Kopfzeile: Wortmarke in Versalien plus aktiver Produktbestand
  rechts — die eine Zahl, die immer zaehlt.
- Dashboard: vier StatRinge + separater MHD-Balken zeigten dieselben
  Daten doppelt; zusammengelegt zu einem Lagerstand-Panel
  (Gesamtzahl, segmentierter Balken, Legende mit Mono-Zahlen).
- SectionHeader: Icon + Versalien-Label + feine Linie statt bunter
  Icon-Kacheln.
- Statistik: Kategorie-/Lagerort-Balken einheitlich Messing;
  bg-[...]/70 auf CSS-Variable erzeugte gar keine Klasse — die
  Balken waren unsichtbar. Jetzt opacity-80.

Messstand (Playwright 412x915): 0 Touch-Ziele unter 44px, kein
Querscrollen, keine Konsolenfehler; tsc sauber, 110/110 Tests gruen.
Auf dem Samsung A15 gegengeprueft.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQtq3HymU7S6JrHKY8dpzU
- Einstellungen: kompletter "App installieren"-Abschnitt raus
  (inkl. iOS-Hinweis und "App ist installiert"-Karte) — die App
  kommt als echte Android-App in den Store, der Floating-Install-
  Prompt für Web-Besucher bleibt.
- "Kein Treffer für diese Filter." erschien auch bei reiner Suche;
  jetzt in allen 6 Sprachen handlungsleitend:
  "Nichts gefunden — Suche oder Filter anpassen."

Testdurchlauf (Playwright, 412x915, frische DB): 10 Produkte über
das echte Formular angelegt (abgelaufen/kritisch/warnung/bald/ok,
Monatsgenauigkeit, Unterbestand, Umlaute, kcal+Notizen, 10 Jahre
MHD); Pflichtfeld-Validierung, Detail, Teilentnahme mit
Archiv-Hinweis, Löschen mit Undo-Toast, Archivansicht, Suche ohne
Treffer, Statusfilter, Sprachwechsel DE/EN, Light-Mode, Krisen-
festigkeit inkl. Einkaufsliste. 0 Konsolenfehler, Zähler überall
konsistent; tsc sauber, 110/110 Unit-Tests.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DQtq3HymU7S6JrHKY8dpzU
@BEKO2210
BEKO2210 merged commit cc1cf76 into main Aug 24, 2026
2 checks passed
@BEKO2210
BEKO2210 deleted the polish/touch-targets-412 branch August 24, 2026 12:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant