feat(slideshow): gate behind a feature flag + move globals to a Settings tab

- New `slideshow` feature flag (backend KNOWN_FLAGS/DEFAULT_FLAGS, frontend
  FeatureKey + context default, a toggle card under Settings -> Features -> Core).
  Default off; strictly opt-in.
- Move the global watermark defaults off the Event Types page into a dedicated
  Settings -> Slideshow tab (new SlideshowSettingsPage), shown only when the flag
  is on.
- Gate the per-event Live Slideshow card and the per-event-type preset section
  behind the flag too (and stop writing a type preset when it's off).
- en/de strings for the feature card + settings tab.
This commit is contained in:
Luca
2026-06-20 03:08:04 +02:00
parent db8388c79e
commit 69367b45be
10 changed files with 94 additions and 12 deletions
+5
View File
@@ -84,6 +84,10 @@ const KNOWN_FLAGS = [
// opt-in — operators must register a Meta-approved template before turning
// it on. Independent of email; both can fire on the same event.
'whatsapp',
// Live Slideshow ("Diashow") — the per-event fullscreen kiosk link + its
// per-event-type presets and global watermark defaults tab. Strictly opt-in;
// gates all slideshow admin UI (per-event card, type preset, settings tab).
'slideshow',
];
// Spec defaults for any flag missing from the DB (e.g. a row added by a
@@ -112,6 +116,7 @@ const DEFAULT_FLAGS = {
expenses: false,
projects: false,
whatsapp: false,
slideshow: false,
};
async function readAllFlags() {