From f600c9f187e87018a09b02f1e16bcbbfa18ba46a Mon Sep 17 00:00:00 2001 From: Raffael Sheikh Date: Sun, 7 Jun 2026 11:49:05 +0200 Subject: [PATCH] UI: alle 8 Dialoge auf barrierearme Modal-Basis umgestellt Bisher waren alle Overlay-Dialoge plain divs ohne role/Fokus-Trap/Escape. Jetzt setzen sie auf auf (role=dialog, aria-modal, Fokus-Trap + -Rueckgabe, Escape, Body-Scroll-Lock, konsistenter X-Button, Scroll bei langem Inhalt). - Modal: X-Schliessen-Button + max-h-[90vh]/overflow-y-auto ergaenzt - BlockerDialog, ManualDialog (Timeline) - leads: CSV-Import + Neuer Lead - bereich: Neues Projekt - projekt: Gate-Review + Projekt abschliessen - lead: Zu Deal machen Co-Authored-By: Claude Opus 4.8 (1M context) --- .../src/components/blocker/BlockerDialog.tsx | 80 ++--- .../src/components/time/TimelineSection.tsx | 158 ++++----- apps/web/src/components/ui/Modal.tsx | 13 +- apps/web/src/routes/bereich.tsx | 168 +++++---- apps/web/src/routes/lead.tsx | 92 +++-- apps/web/src/routes/leads.tsx | 333 ++++++++---------- apps/web/src/routes/projekt.tsx | 211 +++++------ 7 files changed, 489 insertions(+), 566 deletions(-) diff --git a/apps/web/src/components/blocker/BlockerDialog.tsx b/apps/web/src/components/blocker/BlockerDialog.tsx index d018c1c..a667138 100644 --- a/apps/web/src/components/blocker/BlockerDialog.tsx +++ b/apps/web/src/components/blocker/BlockerDialog.tsx @@ -3,6 +3,7 @@ import { toast } from 'sonner'; import { trpc } from '../../lib/trpc'; import { voice } from '../../lib/voice'; import { Button } from '../ui/Button'; +import { Modal } from '../ui/Modal'; export function BlockerDialog({ onClose }: { onClose: () => void }) { const [title, setTitle] = useState(''); @@ -23,49 +24,40 @@ export function BlockerDialog({ onClose }: { onClose: () => void }) { } return ( -
-
e.stopPropagation()} - > -

Neuer Blocker

-
- -