From 871692655748928e3f61c01edd0dd0caf769d472 Mon Sep 17 00:00:00 2001 From: MacielG1 Date: Thu, 26 Sep 2024 10:31:17 -0300 Subject: [PATCH] fix audio not loading --- src/components/MainMenu.tsx | 1 + src/components/settings/EnableSounds.tsx | 25 +++------------- src/components/settings/SettingsMenu.tsx | 36 +++++++++++++++++------- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/src/components/MainMenu.tsx b/src/components/MainMenu.tsx index a84ee2e..127acd2 100644 --- a/src/components/MainMenu.tsx +++ b/src/components/MainMenu.tsx @@ -90,6 +90,7 @@ export default function MainMenu() { setMainTimerBorder(restColor); } } + if (enableSounds) { if (whichInterval === "work" && time == 0) { if (preferredSound === "audio1") { diff --git a/src/components/settings/EnableSounds.tsx b/src/components/settings/EnableSounds.tsx index d7db464..d531eff 100644 --- a/src/components/settings/EnableSounds.tsx +++ b/src/components/settings/EnableSounds.tsx @@ -7,42 +7,25 @@ import sound1 from "../../assets/sounds/sound1.mp3"; import sound2 from "../../assets/sounds/sound2.mp3"; import start from "../../assets/sounds/start.mp3"; import stop from "../../assets/sounds/stop.mp3"; -import { useEffect } from "react"; type ToggleProps = { preferredLanguage: "en" | "pt" | "fr"; handleToggleSetting: (key: string, setState: (value: boolean) => void, state: boolean) => void; + soundsSettings: { item: string; state: boolean; setState: (value: boolean) => void; text: { en: string; pt: string; fr: string } } | undefined; }; -export default function EnableSounds({ handleToggleSetting, preferredLanguage }: ToggleProps) { - const [enableSounds, setEnableSounds] = useStore((state) => [state.enableSounds, state.setEnableSounds]); +export default function EnableSounds({ handleToggleSetting, preferredLanguage, soundsSettings }: ToggleProps) { const [preferredSound, setPreferredSound] = useStore((state) => [state.preferredSound, state.setPreferredSound]); const playSoundsType1 = useAudio(sound1, sound2); const playSoundsType2 = useAudio(start, stop); - const soundsSettings = { - item: "enableSounds", - state: enableSounds, - setState: setEnableSounds, - text: { - en: "Enable sounds", - pt: "Ativar sons", - fr: "Activer les sons", - }, - }; - - useEffect(() => { - const settings = JSON.parse(localStorage.getItem(soundsSettings.item) || "null"); - if (settings !== null) { - setEnableSounds(settings); - } - }, []); - function onValueChange(sound: "audio1" | "audio2") { localStorage.setItem("audioType", sound); setPreferredSound(sound); } + if (!soundsSettings) return null; + return (
[state.prepareonEveryRound, state.setPrepareonEveryRound]); const [enableVibrate, setEnableVibrate] = useStore((state) => [state.enableVibrate, state.setEnableVibrate]); + const [enableSounds, setEnableSounds] = useStore((state) => [state.enableSounds, state.setEnableSounds]); + const settings = [ { item: "skipLastRest", @@ -72,6 +74,16 @@ export default function SettingsMenu() { fr: "Activer la vibration", }, }, + { + item: "enableSounds", + state: enableSounds, + setState: setEnableSounds, + text: { + en: "Enable sounds", + pt: "Ativar sons", + fr: "Activer les sons", + }, + }, ]; useEffect(() => { @@ -89,7 +101,6 @@ export default function SettingsMenu() { setState(newValue); } - // language useEffect let supportedLanguages = ["en", "pt", "fr"]; useEffect(() => { @@ -115,16 +126,21 @@ export default function SettingsMenu() { <> {settings.map((item) => { if (item.item === "enableVibrate" && !isOnMobileDevice) return null; - return ( - handleToggleSetting(item.item, item.setState, item.state)} - /> - ); + if (item.item !== "enableSounds") + return ( + handleToggleSetting(item.item, item.setState, item.state)} + /> + ); })} - + item.item === "enableSounds")} + />