feat: live card preview in compose (at the bottom) #15
Reference in New Issue
Block a user
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?
What
m: „können wir ein preview der Karte zeigen, ganz unten vielleicht?“
A live preview of the card in the compose flow — placed at the bottom of the form — showing how the card will look as the sender fills it in (message, sender/recipient, occasion badge, theme, images/video, layout).
Behaviour
/c/{token}look as closely as practical.Constraints
Sequencing
Compose-flow + shares card render styles → after #13 and #14 (same files). otto-head assigns when the track frees.
DoD
#15 erledigt — Live-Vorschau am Ende von /compose
Die Karte wird jetzt ganz unten im Compose-Formular live aufgebaut und aktualisiert sich, während man tippt/auswählt.
Was umgesetzt ist
#previewSection), die bei jeder Eingabe neu gebaut wird: Nachricht, An/Von, Anlass-Badge (inkl. eigenem Anlass), Farbwelt, Layout (Klassisch/Galerie/Wendekarte) und ausgewählte Medien (Bilder als Galerie/Carousel, das erste Video als Inline-Player)./c/{token}(.postcard,.message-area,.gallery/.carousel,.flip-scene…), nutzt also dieselbe CSS — die Vorschau sieht aus wie die echte Karte. Keine Template-Duplizierung, kein Backend-/Schema-Change (reine Client-Seite).body[data-theme]themt (bestehender Handler); die Vorschau erbt das automatisch. Zusätzlich setzt das Body-Tag jetztdata-theme="{{.Form.Theme}}", damit Seite und Vorschau bei Fehler-Re-Render direkt in der gewählten Farbwelt starten.<img>/<video>-Knoten werden zwischen Rebuilds gepoolt und verschoben (nicht neu erzeugt), damit das Tippen ein laufendes Video nicht neu lädt.Progressive Enhancement / Mobile-first
#previewSectionist standardmäßighiddenund wird nur per JS eingeblendet — ohne JS funktioniert das Formular unverändert, die Vorschau ist schlicht abwesend, der Submit wird nie blockiert.Verifikation
go build ./...,go vet ./...,go test ./...— alle grün.TestComposeShowsLivePreviewsichert das Preview-Scaffold (hidden),#cardPreview, dasrenderPreview-Wiring und<body data-theme=…>.Commit:
445ad45754Branch:
mai/hermes/issue-15-feat-live-card✅ Merged & deployed — live preview live on sendmy.cards
Merged
445ad45(merge7c4e39c), deployed. Frontend-only (compose JS + CSS, no schema). A live card preview now sits at the bottom of compose, updating as you edit (message, an/von, occasion badge, theme, layout, media). Progressive enhancement — form still works without JS. build green. Please eyeball it. Not closing — m closes.