From 601b5b10e2b171c6b3ac1628545b9e70272de6d9 Mon Sep 17 00:00:00 2001 From: Radiquum Date: Sat, 12 Apr 2025 15:25:29 +0500 Subject: [PATCH] feat: add retry button if error of player link parsing --- .../ReleasePlayer/ReleasePlayerCustom.tsx | 21 ++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/app/components/ReleasePlayer/ReleasePlayerCustom.tsx b/app/components/ReleasePlayer/ReleasePlayerCustom.tsx index 459f0bb..66e646d 100644 --- a/app/components/ReleasePlayer/ReleasePlayerCustom.tsx +++ b/app/components/ReleasePlayer/ReleasePlayerCustom.tsx @@ -73,7 +73,9 @@ export const ReleasePlayerCustom = (props: { const [playbackRate, setPlaybackRate] = useState(1); const [isErrorDetailsOpen, setIsErrorDetailsOpen] = useState(false); - const preferenceStore = usePreferencesStore() + const [retryCount, setRetryCount] = useState(0); + + const preferenceStore = usePreferencesStore(); useEffect(() => { const __getInfo = async () => { @@ -134,7 +136,7 @@ export const ReleasePlayerCustom = (props: { __getInfo(); } // eslint-disable-next-line react-hooks/exhaustive-deps - }, [episode.selected]); + }, [episode.selected, retryCount]); useEffect(() => { if (document && document.querySelector("media-chrome-dialog")) { @@ -145,7 +147,11 @@ export const ReleasePlayerCustom = (props: { }, []); function saveEpisodeToHistory() { - if (preferenceStore.flags.saveWatchHistory && episode.selected && !episode.selected.is_watched) { + if ( + preferenceStore.flags.saveWatchHistory && + episode.selected && + !episode.selected.is_watched + ) { const objectToReplace = episode.available.find( (arrayItem: Episode) => arrayItem.position === episode.selected.position ); @@ -298,6 +304,15 @@ export const ReleasePlayerCustom = (props: { {playerError.detail}

} + {voiceover.selected && source.selected && episode.selected ? + + : ""} : ""}