refactor(frontend): shadcn-Dialog-Wrapper um fehlende Sub-Komponenten erweitern #86
Labels
No labels
component/backend
component/docs
component/e2e
component/frontend
component/infra
component/keycloak
prio/high
prio/low
prio/medium
type/bug
type/chore
type/feature
type/refactor
type/test
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
WompSchmiede/FamilienFeierPlaner#86
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Beschreibung
Der Dialog-Wrapper in rontend/src/lib/components/ui/dialog.svelte wrapt nur DialogPrimitive.Root aus bits-ui. Sub-Komponenten wie Trigger, Content, Overlay, Portal, Title, Description werden nicht exportiert. Seiten muessen daher direkt its-ui importieren, was den shadcn-Abstraktionslayer umgeht.
Motivation
In der Gaesteliste-Implementation (#72) zwang dies zu folgendem inkonsistenten Import:
ypescript import { Dialog as DialogPrimitive } from 'bits-ui';Statt des einheitlichen Pfads $lib/components/ui/dialog.svelte. Das erschwert:
Vorgeschlagene Umsetzung
Den Dialog-Wrapper erweitern, sodass er die bits-ui-Sub-Komponenten als benannte Snippets/Slots exportiert:
/components/ui/dialog.svelte ??? Root (bestehend, bind:open) ??? Trigger (wrapper um DialogPrimitive.Trigger) ??? Content (wrapper mit shadcn-Standard-Klassen) ??? Overlay (wrapper mit shadcn-Dimming) ??? Portal (wrapper um DialogPrimitive.Portal) ??? Title (wrapper mit shadcn-Typografie) ??? Description (wrapper mit muted-Typografie)Analog zum Pattern des utton.svelte oder adge.svelte.
Akzeptanzkriterien
Alternativen
Die /guests-Route als separate Route beibehalten (wie urspruenglich in design.md geplant), dann waere nur eine Seite betroffen.