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.
-