Skip to content

feat(ux/5a): Layout-Vorschau + Layout-Wahl bei Seitenanlage (Schema-Drift-Fix)#21

Merged
dbt-bossert merged 1 commit into
mainfrom
claude/ux-phase-5a-page-layout
Jun 15, 2026
Merged

feat(ux/5a): Layout-Vorschau + Layout-Wahl bei Seitenanlage (Schema-Drift-Fix)#21
dbt-bossert merged 1 commit into
mainfrom
claude/ux-phase-5a-page-layout

Conversation

@dbt-bossert

Copy link
Copy Markdown
Collaborator

Seiten-Layouts werden jetzt mit visueller Vorschau ausgewählt — und der Editor bietet nur noch Layouts an, die portal tatsächlich rendert.

Kernlogik

  • Neue pageLayouts.ts als Single Source of Truth für die unterstützten Layouts (unit-getestet) + schematische SVG-LayoutPreview.
  • Schema-Abgleich mit portal (d-fc-page-default.vue): gerendert werden nur null/Standard, 2_COL_RIGHT_WIDER, 2_COL_RIGHT_FILL. Der Editor bot zusätzlich 2_COL_LEFT_WIDER/1_COL an — Schema-Drift (portal → „unknown type"), jetzt entfernt.
  • Layout mit Live-Vorschau im EditPageDialog und schon im Neue-Seite-Dialog wählbar (vorher nur Titel, Layout hart verdrahtet).
  • Abwesendes Layout = „Standard"; beim Speichern wird der leere Wert wieder zu undefined gemappt (kein erzwungenes 2_COL_RIGHT_FILL mehr beim Öffnen alter Seiten).
  • Nicht (mehr) unterstützte Alt-Werte bleiben als deaktivierter „⚠ Nicht unterstützt"-Eintrag sichtbar, damit Autoren sie erkennen und umstellen können.
  • pattern_type-Auswahl bewusst verworfen: portal verzweigt nicht über den Page-pattern_type (alle Top-Level-Seiten laufen durch d-fc-page-default) → ein Selektor wäre wirkungslos und driftgefährdet.

Hinweis zu Seiteneffekten

EditPageDialog defaultet das Layout jetzt treu auf den gespeicherten Wert (absent → Standard) statt auf 2_COL_RIGHT_FILL. Dadurch werden Seiten ohne Layout beim Öffnen+Speichern nicht mehr still auf 2_COL_RIGHT_FILL umgeschrieben.

Test

  1. „+" → Neue Seite: Layout-Dropdown zeigt Standard/rechts-breiter/rechts-gefüllt mit passender Vorschau; Auswahl wird in die neue Seite übernommen.
  2. Seite bearbeiten: Vorschau aktualisiert sich beim Umschalten; „Standard" speichert die Seite ohne layout-Feld.
  3. Seite mit Alt-Layout (1_COL) öffnen: erscheint als deaktivierter „⚠ Nicht unterstützt"-Eintrag; Wechsel auf ein unterstütztes Layout möglich.
  4. npm test grün (128), npm run build ohne TS-Fehler.

Labels

Feature

🤖 https://claude.ai/code/session_01D2Pc4cAexeqUFrM1YonaJL


Generated by Claude Code

Seiten-Layout jetzt mit visueller Vorschau waehlbar - im EditPageDialog und
bereits im Neue-Seite-Dialog. Zentrale pageLayouts.ts als Single Source of
Truth (unit-getestet) + SVG-LayoutPreview.

Schema-Abgleich mit portal (d-fc-page-default.vue): nur null/Standard,
2_COL_RIGHT_WIDER und 2_COL_RIGHT_FILL werden gerendert. Die zuvor angebotenen
2_COL_LEFT_WIDER/1_COL waren Drift (portal -> unknown type) und sind entfernt.
Abwesendes Layout = Standard; nicht unterstuetzte Alt-Werte bleiben als
deaktivierter Hinweis sichtbar. pattern_type-Auswahl verworfen (portal
verzweigt nicht ueber Page-pattern_type).
@dbt-bossert
dbt-bossert merged commit 182a529 into main Jun 15, 2026
2 checks passed
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.

2 participants