From 74114893e5b0dd14946bdc85a31211609e29367b Mon Sep 17 00:00:00 2001 From: Fredrik Burmester Date: Wed, 28 Jan 2026 19:57:54 +0100 Subject: [PATCH] fix(tv): use router.replace for episode navigation to prevent page stacking --- components/ItemContent.tv.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/components/ItemContent.tv.tsx b/components/ItemContent.tv.tsx index 0494f108..ae91ca6a 100644 --- a/components/ItemContent.tv.tsx +++ b/components/ItemContent.tv.tsx @@ -43,6 +43,7 @@ import { useScaledTVTypography } from "@/constants/TVTypography"; import useRouter from "@/hooks/useAppRouter"; import useDefaultPlaySettings from "@/hooks/useDefaultPlaySettings"; import { useImageColorsReturn } from "@/hooks/useImageColorsReturn"; +import { useTVItemActionModal } from "@/hooks/useTVItemActionModal"; import { useTVOptionModal } from "@/hooks/useTVOptionModal"; import { useTVSubtitleModal } from "@/hooks/useTVSubtitleModal"; import { apiAtom, userAtom } from "@/providers/JellyfinProvider"; @@ -78,6 +79,7 @@ export const ItemContentTV: React.FC = React.memo( const { settings } = useSettings(); const insets = useSafeAreaInsets(); const router = useRouter(); + const { showItemActions } = useTVItemActionModal(); const { t } = useTranslation(); const queryClient = useQueryClient(); @@ -479,7 +481,7 @@ export const ItemContentTV: React.FC = React.memo( const handleEpisodePress = useCallback( (episode: BaseItemDto) => { const navigation = getItemNavigation(episode, "(home)"); - router.push(navigation as any); + router.replace(navigation as any); }, [router], ); @@ -820,6 +822,7 @@ export const ItemContentTV: React.FC = React.memo( episodes={seasonEpisodes} currentEpisodeId={item.Id} onEpisodePress={handleEpisodePress} + onEpisodeLongPress={showItemActions} firstEpisodeRefSetter={setFirstEpisodeRef} />