Block a user
feat: admin overview of all cards (password-gated)
BUG/feat: own favicon (💌) — currently shows Shlink's
feat: live card preview in compose (at the bottom)
BUG: changing occasion resets the chosen theme (should not)
UX: unify media upload, clearer to/from, field order + equal buttons (compose polish)
BUG: compose layout regressions from #12 (margins, section headers bleed, gültig-bis/max-aufrufe misaligned)
feat/security: tokenized, unguessable media filenames (closes #11 media leak)
CSS: reduce header→form spacing (gap under the header is too big)
feat: broaden from postcards to greeting cards (Grußkarten) — rebrand + card types
BUG (v2): flip-card with multiple images — extra images unreachable
feat: video support on postcards (upload + inline playback)
feat: user-configurable /to/ and /from/ short links (extends #3 Shlink)
feat: short-link lifecycle — duplicates, expiry, max-views (builds on #8)
feat: optional password protection per card
postcards: "no specific addressee" / broadcast mode (one card, share with many)
postcards: custom memorable URLs via Shlink (e.g. post.msbls.de/sardinien2026)
postcards v2: design options, multi-image gallery, flip-card (Wendekarte)
Build MVP: virtual postcard web app (mobile-first)
Admin: full edit flow for existing cards (text + media + all fields)
#31 implemented — admin full edit flow (text + media + all fields)
Branch mai/hermes/issue-31-admin-full-edit, commit [61e0704](https://mgit.msbls.de/m/postcards/commit/61e07049df40bf56005…
Admin: full edit flow for existing cards (text + media + all fields)