pstream is dead; long live pstream taciturnaxolotl.github.io/pstream-ng/
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Automatically open the settings overlay when a playback error occurs

Pas c1738739 38d4e692

+17 -1
+17 -1
src/pages/parts/player/PlaybackErrorPart.tsx
··· 1 + import { useEffect, useRef } from "react"; 1 2 import { useTranslation } from "react-i18next"; 2 3 3 4 import { Button } from "@/components/buttons/Button"; ··· 6 7 import { useModal } from "@/components/overlays/Modal"; 7 8 import { Paragraph } from "@/components/text/Paragraph"; 8 9 import { Title } from "@/components/text/Title"; 10 + import { useOverlayRouter } from "@/hooks/useOverlayRouter"; 9 11 import { ErrorContainer, ErrorLayout } from "@/pages/layouts/ErrorLayout"; 10 12 import { usePlayerStore } from "@/stores/player/store"; 11 13 ··· 15 17 const { t } = useTranslation(); 16 18 const playbackError = usePlayerStore((s) => s.interface.error); 17 19 const modal = useModal("error"); 20 + const settingsRouter = useOverlayRouter("settings"); 21 + const hasOpenedSettings = useRef(false); 22 + 23 + // Automatically open the settings overlay when a playback error occurs 24 + useEffect(() => { 25 + if (playbackError && !hasOpenedSettings.current) { 26 + hasOpenedSettings.current = true; 27 + settingsRouter.open(); 28 + settingsRouter.navigate("/source"); 29 + } 30 + }, [playbackError, settingsRouter]); 18 31 19 32 return ( 20 33 <ErrorLayout> ··· 44 57 theme="secondary" 45 58 padding="md:px-12 p-2.5" 46 59 className="mt-6" 47 - onClick={() => window.location.reload()} 60 + onClick={(e) => { 61 + e.preventDefault(); 62 + window.location.reload(); 63 + }} 48 64 > 49 65 {t("errors.reloadPage")} 50 66 </Button>