From 1d4c56265fc9a2b438b271ea2442bca0b95ca94a Mon Sep 17 00:00:00 2001 From: Alex Kim Date: Mon, 9 Dec 2024 01:54:30 +1100 Subject: [PATCH] Made sure changes are saved when changing episode list --- components/video-player/controls/EpisodeList.tsx | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/components/video-player/controls/EpisodeList.tsx b/components/video-player/controls/EpisodeList.tsx index 710c4b6d..78127865 100644 --- a/components/video-player/controls/EpisodeList.tsx +++ b/components/video-player/controls/EpisodeList.tsx @@ -17,7 +17,7 @@ import { HorizontalScroll, HorizontalScrollRef, } from "@/components/common/HorrizontalScroll"; -import { router } from "expo-router"; +import { router, useLocalSearchParams } from "expo-router"; import { getDefaultPlaySettings } from "@/utils/jellyfin/getDefaultPlaySettings"; import { getItemById } from "@/utils/jellyfin/user-library/getItemById"; import { useSettings } from "@/utils/atoms/settings"; @@ -155,22 +155,28 @@ export const EpisodeList: React.FC = ({ item, close }) => { } }, [episodes, item.Id]); + const { audioIndex, subtitleIndex, bitrateValue } = useLocalSearchParams<{ + audioIndex: string; + subtitleIndex: string; + mediaSourceId: string; + bitrateValue: string; + }>(); + const gotoEpisode = async (itemId: string) => { const item = await getItemById(api, itemId); if (!settings || !item) return; - const { bitrate, mediaSource, audioIndex, subtitleIndex } = - getDefaultPlaySettings(item, settings); + const { mediaSource } = getDefaultPlaySettings(item, settings); const queryParams = new URLSearchParams({ itemId: item.Id ?? "", // Ensure itemId is a string audioIndex: audioIndex?.toString() ?? "", subtitleIndex: subtitleIndex?.toString() ?? "", mediaSourceId: mediaSource?.Id ?? "", // Ensure mediaSourceId is a string - bitrateValue: bitrate.toString(), + bitrateValue: bitrateValue, }).toString(); - if (!bitrate.value) { + if (!bitrateValue) { // @ts-expect-error router.replace(`player/direct-player?${queryParams}`); return;