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:
@@ -22,6 +22,7 @@ import {
|
||||
ScanLine,
|
||||
Wallet,
|
||||
FolderKanban,
|
||||
MonitorPlay,
|
||||
} from 'lucide-react';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import { Button, Card } from '../../../components/common';
|
||||
@@ -116,6 +117,21 @@ export const FeaturesTab: React.FC = () => {
|
||||
"Galleries are the foundation of PicPeak and can't be turned off.",
|
||||
)}
|
||||
/>
|
||||
|
||||
<FeatureCard
|
||||
icon={MonitorPlay}
|
||||
title={t('settings.features.slideshow.title', 'Live Slideshow')}
|
||||
description={t(
|
||||
'settings.features.slideshow.description',
|
||||
'A separate fullscreen "Diashow" link per event for projectors at live events — auto-picks-up new uploads, with per-event-type presets and global watermark defaults under Settings → Slideshow.',
|
||||
)}
|
||||
status="new"
|
||||
statusLabel={statusLabel('new')}
|
||||
sidebarHidden
|
||||
sidebarHiddenLabel={sidebarHiddenLabel}
|
||||
enabled={staged.slideshow}
|
||||
onToggle={(next) => setFlag('slideshow', next)}
|
||||
/>
|
||||
</Section>
|
||||
|
||||
{/* Clients (#354 follow-up). Visual grouping for the CRM-area
|
||||
|
||||
Reference in New Issue
Block a user