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 ?
+
+ : ""}
>
: ""}