From b12f41d0ae1138f5bb7ff77ef947829cb99a3856 Mon Sep 17 00:00:00 2001 From: tapframe Date: Thu, 1 May 2025 20:28:07 +0530 Subject: [PATCH] Implement stream filtering by selected provider in StreamsScreen; enhance user experience by allowing users to view streams from specific providers instead of all available options. --- src/screens/StreamsScreen.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/screens/StreamsScreen.tsx b/src/screens/StreamsScreen.tsx index 8881b2a..3f0f27b 100644 --- a/src/screens/StreamsScreen.tsx +++ b/src/screens/StreamsScreen.tsx @@ -559,7 +559,16 @@ export const StreamsScreen = () => { const streams = type === 'series' ? episodeStreams : groupedStreams; const installedAddons = stremioService.getInstalledAddons(); - return Object.entries(streams) + // Filter streams by selected provider - only if not "all" + const filteredEntries = Object.entries(streams) + .filter(([addonId]) => { + // If "all" is selected, show all providers + if (selectedProvider === 'all') { + return true; + } + // Otherwise only show the selected provider + return addonId === selectedProvider; + }) .sort(([addonIdA], [addonIdB]) => { const indexA = installedAddons.findIndex(addon => addon.id === addonIdA); const indexB = installedAddons.findIndex(addon => addon.id === addonIdB); @@ -574,6 +583,8 @@ export const StreamsScreen = () => { addonId, data: streams })); + + return filteredEntries; }, [selectedProvider, type, episodeStreams, groupedStreams]); const episodeImage = useMemo(() => {