diff --git a/examples/config.batocera-retrobat.yml b/examples/config.batocera-retrobat.yml index 52a9630df..0c125064c 100644 --- a/examples/config.batocera-retrobat.yml +++ b/examples/config.batocera-retrobat.yml @@ -113,7 +113,7 @@ system: ps4: ps4 psp: psp psvita: psvita - psx: ps + psx: psx pv1000: casio-pv-1000 samcoupe: sam-coupe satellaview: satellaview diff --git a/frontend/src/RomM.vue b/frontend/src/RomM.vue index b2d0a5404..6a9e908fb 100644 --- a/frontend/src/RomM.vue +++ b/frontend/src/RomM.vue @@ -1,7 +1,7 @@ diff --git a/frontend/src/components/Home/RecentAdded.vue b/frontend/src/components/Home/RecentAdded.vue index 4bfde3f16..a665addcb 100644 --- a/frontend/src/components/Home/RecentAdded.vue +++ b/frontend/src/components/Home/RecentAdded.vue @@ -3,7 +3,7 @@ import GameCard from "@/components/common/Game/Card/Base.vue"; import RSection from "@/components/common/RSection.vue"; import storeRoms from "@/stores/roms"; import { views } from "@/utils"; -import { isNull } from "lodash"; +import { useLocalStorage } from "@vueuse/core"; import { storeToRefs } from "pinia"; import { ref } from "vue"; import { useI18n } from "vue-i18n"; @@ -11,14 +11,8 @@ import { useI18n } from "vue-i18n"; const { t } = useI18n(); const romsStore = storeRoms(); const { recentRoms } = storeToRefs(romsStore); -const storedGridRecentRoms = localStorage.getItem("settings.gridRecentRoms"); -const gridRecentRoms = ref( - isNull(storedGridRecentRoms) ? false : storedGridRecentRoms === "true", -); -const storedEnable3DEffect = localStorage.getItem("settings.enable3DEffect"); -const enable3DEffect = ref( - isNull(storedEnable3DEffect) ? false : storedEnable3DEffect === "true", -); +const gridRecentRoms = useLocalStorage("settings.gridRecentRoms", false); +const enable3DEffect = useLocalStorage("settings.enable3DEffect", false); const isHovering = ref(false); const hoveringRomId = ref(); const openedMenu = ref(false); @@ -26,10 +20,6 @@ const openedMenuRomId = ref(); function toggleGridRecentRoms() { gridRecentRoms.value = !gridRecentRoms.value; - localStorage.setItem( - "settings.gridRecentRoms", - gridRecentRoms.value.toString(), - ); } function onHover(emitData: { isHovering: boolean; id: number }) { diff --git a/frontend/src/components/Settings/UserInterface/Interface.vue b/frontend/src/components/Settings/UserInterface/Interface.vue index ffede7d11..ca005f85a 100644 --- a/frontend/src/components/Settings/UserInterface/Interface.vue +++ b/frontend/src/components/Settings/UserInterface/Interface.vue @@ -2,8 +2,8 @@ import InterfaceOption from "@/components/Settings/UserInterface/InterfaceOption.vue"; import RSection from "@/components/common/RSection.vue"; import storeCollections from "@/stores/collections"; -import { isNull } from "lodash"; -import { computed, ref } from "vue"; +import { useLocalStorage } from "@vueuse/core"; +import { computed } from "vue"; import { useI18n } from "vue-i18n"; import { useDisplay } from "vuetify"; @@ -11,89 +11,40 @@ const { t } = useI18n(); const { smAndDown } = useDisplay(); const collectionsStore = storeCollections(); -// Initialize refs from localStorage - // Home -const storedShowStats = localStorage.getItem("settings.showStats"); -const showStatsRef = ref( - isNull(storedShowStats) ? true : storedShowStats === "true", -); -const storedShowRecentRoms = localStorage.getItem("settings.showRecentRoms"); -const showRecentRomsRef = ref( - isNull(storedShowRecentRoms) ? true : storedShowRecentRoms === "true", -); - -const storedShowContinuePlaying = localStorage.getItem( +const showStatsRef = useLocalStorage("settings.showStats", true); +const showRecentRomsRef = useLocalStorage("settings.showRecentRoms", true); +const showContinuePlayingRef = useLocalStorage( "settings.showContinuePlaying", + true, ); -const showContinuePlayingRef = ref( - isNull(storedShowContinuePlaying) - ? true - : storedShowContinuePlaying === "true", -); -const storedShowPlatforms = localStorage.getItem("settings.showPlatforms"); -const showPlatformsRef = ref( - isNull(storedShowPlatforms) ? true : storedShowPlatforms === "true", -); -const storedShowCollections = localStorage.getItem("settings.showCollections"); -const showCollectionsRef = ref( - isNull(storedShowCollections) ? true : storedShowCollections === "true", -); +const showPlatformsRef = useLocalStorage("settings.showPlatforms", true); +const showCollectionsRef = useLocalStorage("settings.showCollections", true); // Virtual collections -const storedShowVirtualCollections = localStorage.getItem( +const showVirtualCollectionsRef = useLocalStorage( "settings.showVirtualCollections", + true, ); -const showVirtualCollectionsRef = ref( - isNull(storedShowVirtualCollections) - ? true - : storedShowVirtualCollections === "true", -); -const storedVirtualCollectionType = localStorage.getItem( +const virtualCollectionTypeRef = useLocalStorage( "settings.virtualCollectionType", -); -const virtualCollectionTypeRef = ref( - isNull(storedVirtualCollectionType) - ? "collection" - : storedVirtualCollectionType, + "collection", ); // Platforms drawer -const storedPlatformsGroupBy = localStorage.getItem( +const platformsGroupByRef = useLocalStorage( "settings.platformsGroupBy", -); -const platformsGroupByRef = ref( - isNull(storedPlatformsGroupBy) || storedPlatformsGroupBy === "null" - ? null - : storedPlatformsGroupBy, + null, ); // Gallery -const storedGroupRoms = localStorage.getItem("settings.groupRoms"); -const groupRomsRef = ref( - isNull(storedGroupRoms) ? true : storedGroupRoms === "true", -); -const storedSiblings = localStorage.getItem("settings.showSiblings"); -const siblingsRef = ref( - isNull(storedSiblings) ? true : storedSiblings === "true", -); -const storedRegions = localStorage.getItem("settings.showRegions"); -const regionsRef = ref(isNull(storedRegions) ? true : storedRegions === "true"); -const storedLanguages = localStorage.getItem("settings.showLanguages"); -const languagesRef = ref( - isNull(storedLanguages) ? true : storedLanguages === "true", -); -const storedStatus = localStorage.getItem("settings.showStatus"); -const statusRef = ref(isNull(storedStatus) ? true : storedStatus === "true"); - -const storedActionBar = localStorage.getItem("settings.showActionBar"); -const actionBarRef = ref( - isNull(storedActionBar) ? false : storedActionBar === "true", -); -const stored3DEffect = localStorage.getItem("settings.enable3DEffect"); -const enable3DEffectRef = ref( - isNull(stored3DEffect) ? false : stored3DEffect === "true", -); +const groupRomsRef = useLocalStorage("settings.groupRoms", true); +const siblingsRef = useLocalStorage("settings.showSiblings", true); +const regionsRef = useLocalStorage("settings.showRegions", true); +const languagesRef = useLocalStorage("settings.showLanguages", true); +const statusRef = useLocalStorage("settings.showStatus", true); +const actionBarRef = useLocalStorage("settings.showActionBar", false); +const enable3DEffectRef = useLocalStorage("settings.enable3DEffect", false); const homeOptions = computed(() => [ { @@ -211,72 +162,57 @@ const galleryOptions = computed(() => [ const setPlatformDrawerGroupBy = (value: string) => { platformsGroupByRef.value = value; - localStorage.setItem("settings.platformsGroupBy", value); }; const toggleShowContinuePlaying = (value: boolean) => { showContinuePlayingRef.value = value; - localStorage.setItem("settings.showContinuePlaying", value.toString()); }; const toggleShowPlatforms = (value: boolean) => { showPlatformsRef.value = value; - localStorage.setItem("settings.showPlatforms", value.toString()); }; const toggleShowCollections = (value: boolean) => { showCollectionsRef.value = value; - localStorage.setItem("settings.showCollections", value.toString()); }; const toggleShowVirtualCollections = (value: boolean) => { showVirtualCollectionsRef.value = value; - localStorage.setItem("settings.showVirtualCollections", value.toString()); }; const setVirtualCollectionType = async (value: string) => { virtualCollectionTypeRef.value = value; - localStorage.setItem("settings.virtualCollectionType", value); collectionsStore.fetchVirtualCollections(value); }; const toggleShowStats = (value: boolean) => { showStatsRef.value = value; - localStorage.setItem("settings.showStats", value.toString()); }; const toggleShowRecentRoms = (value: boolean) => { showRecentRomsRef.value = value; - localStorage.setItem("settings.showRecentRoms", value.toString()); }; const toggleGroupRoms = (value: boolean) => { groupRomsRef.value = value; - localStorage.setItem("settings.groupRoms", value.toString()); }; const toggleSiblings = (value: boolean) => { siblingsRef.value = value; - localStorage.setItem("settings.showSiblings", value.toString()); }; const toggleRegions = (value: boolean) => { regionsRef.value = value; - localStorage.setItem("settings.showRegions", value.toString()); }; const toggleLanguages = (value: boolean) => { languagesRef.value = value; - localStorage.setItem("settings.showLanguages", value.toString()); }; const toggleStatus = (value: boolean) => { statusRef.value = value; - localStorage.setItem("settings.showStatus", value.toString()); }; const toggleActionBar = (value: boolean) => { actionBarRef.value = value; - localStorage.setItem("settings.showActionBar", value.toString()); }; const toggle3DEffect = (value: boolean) => { enable3DEffectRef.value = value; - localStorage.setItem("settings.enable3DEffect", value.toString()); };