From 5b290fd6677d7ce4be092674d826768f53a92182 Mon Sep 17 00:00:00 2001 From: Alex Kim Date: Sun, 8 Dec 2024 17:18:44 +1100 Subject: [PATCH] Got season dropdown to start working --- .../video-player/controls/EpisodeList.tsx | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/components/video-player/controls/EpisodeList.tsx b/components/video-player/controls/EpisodeList.tsx index cf968aed..a1ef8f7d 100644 --- a/components/video-player/controls/EpisodeList.tsx +++ b/components/video-player/controls/EpisodeList.tsx @@ -7,7 +7,7 @@ import { useEffect, useMemo, useState, useRef } from "react"; import { View, TouchableOpacity } from "react-native"; import { getTvShowsApi } from "@jellyfin/sdk/lib/utils/api"; import { getUserItemData } from "@/utils/jellyfin/user-library/getUserItemData"; -import { Ionicons, MaterialCommunityIcons } from "@expo/vector-icons"; +import { Ionicons } from "@expo/vector-icons"; import { Loader } from "@/components/Loader"; import ContinueWatchingPoster from "@/components/ContinueWatchingPoster"; import { Text } from "@/components/common/Text"; @@ -42,7 +42,7 @@ export const EpisodeList: React.FC = ({ item, close }) => { const [settings] = useSettings(); const [seasonIndexState, setSeasonIndexState] = useAtom(seasonIndexAtom); - const seasonIndex = seasonIndexState[item.Id ?? ""]; + const seasonIndex = seasonIndexState[item.SeriesId ?? ""]; const [seriesItem, setSeriesItem] = useState(null); @@ -59,9 +59,7 @@ export const EpisodeList: React.FC = ({ item, close }) => { const { data: seasons } = useQuery({ queryKey: ["seasons", item.SeriesId], queryFn: async () => { - console.log("Seasons", Boolean(api), user?.Id, item.SeriesId); if (!api || !user?.Id || !item.SeriesId) return []; - console.log("Seasons", "Fetching"); const response = await api.axiosInstance.get( `${api.basePath}/Shows/${item.SeriesId}/Seasons`, { @@ -76,7 +74,6 @@ export const EpisodeList: React.FC = ({ item, close }) => { }, } ); - console.log("Response", response.data.Items); return response.data.Items; }, enabled: !!api && !!user?.Id && !!item.SeasonId, @@ -89,20 +86,20 @@ export const EpisodeList: React.FC = ({ item, close }) => { ); const { data: episodes, isFetching } = useQuery({ - queryKey: ["episodes", item.SeriesId, item.SeasonId], + queryKey: ["episodes", item.SeriesId, selectedSeasonId], queryFn: async () => { - if (!api || !user?.Id || !item.Id || !item.SeasonId) return []; + if (!api || !user?.Id || !item.Id || !selectedSeasonId) return []; const res = await getTvShowsApi(api).getEpisodes({ seriesId: item.SeriesId || "", userId: user.Id, - seasonId: item.SeasonId || undefined, + seasonId: selectedSeasonId || undefined, enableUserData: true, fields: ["MediaSources", "MediaStreams", "Overview"], }); return res.data.Items; }, - enabled: !!api && !!user?.Id && !!item.SeasonId, + enabled: !!api && !!user?.Id && !!selectedSeasonId, }); const queryClient = useQueryClient(); @@ -144,7 +141,6 @@ export const EpisodeList: React.FC = ({ item, close }) => { const gotoEpisode = async (itemId: string) => { const item = await getItemById(api, itemId); - console.log("Item", item); if (!settings || !item) return; const { bitrate, mediaSource, audioIndex, subtitleIndex } = @@ -200,14 +196,13 @@ export const EpisodeList: React.FC = ({ item, close }) => { className={`flex flex-row items-center space-x-2`} > { setSeasonIndexState((prev) => ({ ...prev, - [item.SeasonId ?? ""]: season.IndexNumber, + [item.SeriesId ?? ""]: season.IndexNumber, })); }} />