diff --git a/apps/admin-ui/src/app/settings/page.tsx b/apps/admin-ui/src/app/settings/page.tsx index 4d946ff..a1c7075 100644 --- a/apps/admin-ui/src/app/settings/page.tsx +++ b/apps/admin-ui/src/app/settings/page.tsx @@ -164,6 +164,10 @@ export default function SettingsPage() { const [tvLiveEventsUrl, setTvLiveEventsUrl] = useState( "http://epg.faabserver.nl/api/export/live-events?horizon_days=3" ); + /** Providers die uit staan (denylist). Ontbrekende = aan. */ + const [tvDisabledProviders, setTvDisabledProviders] = useState([]); + /** Ontdekt uit feed + bekende disabled. */ + const [tvLiveEventProviders, setTvLiveEventProviders] = useState([]); const [tvShowAlle, setTvShowAlle] = useState(true); const [tvCategories, setTvCategories] = useState< Array<{ id: string; name: string; channelCount: number }> @@ -262,8 +266,18 @@ export default function SettingsPage() { ? s.liveEventsUrl : "http://epg.faabserver.nl/api/export/live-events?horizon_days=3" ); + setTvDisabledProviders( + Array.isArray(s.liveEventsDisabledProviders) + ? s.liveEventsDisabledProviders.map((p: string) => String(p).toLowerCase()) + : [] + ); } setTvCategories(Array.isArray(d.categories) ? d.categories : []); + setTvLiveEventProviders( + Array.isArray(d.liveEventProviders) + ? d.liveEventProviders.map((p: string) => String(p).toLowerCase()) + : [] + ); }) .catch(() => undefined); }, []); @@ -568,6 +582,7 @@ export default function SettingsPage() { categoryOrder: tvCategories.map((c) => c.id), showAlleZenders: tvShowAlle, liveEventsUrl: tvLiveEventsUrl.trim(), + liveEventsDisabledProviders: tvDisabledProviders, }), }); const data = await res.json().catch(() => ({})); @@ -586,8 +601,18 @@ export default function SettingsPage() { ? data.settings.liveEventsUrl : "" ); + setTvDisabledProviders( + Array.isArray(data.settings.liveEventsDisabledProviders) + ? data.settings.liveEventsDisabledProviders.map((p: string) => String(p).toLowerCase()) + : [] + ); } if (Array.isArray(data.categories)) setTvCategories(data.categories); + if (Array.isArray(data.liveEventProviders)) { + setTvLiveEventProviders( + data.liveEventProviders.map((p: string) => String(p).toLowerCase()) + ); + } } finally { setTvBusy(false); } @@ -936,7 +961,7 @@ export default function SettingsPage() { JSON-export (FAAB) voor de Events-tab in Android TV. Leeg laten schakelt de tab uit. Default: FAAB live-events met 3 dagen horizon.

-