diff --git a/src/js/Content/Features/Store/App/FSaveReviewFilters.ts b/src/js/Content/Features/Store/App/FSaveReviewFilters.ts index 6ba8c64e0..6306a4b1d 100644 --- a/src/js/Content/Features/Store/App/FSaveReviewFilters.ts +++ b/src/js/Content/Features/Store/App/FSaveReviewFilters.ts @@ -1,6 +1,6 @@ import Feature from "@Content/Modules/Context/Feature"; import type CApp from "@Content/Features/Store/App/CApp"; -import LocalStorage from "@Core/Storage/LocalStorage"; +import LocalStorage, {type LocalStorageSchema} from "@Core/Storage/LocalStorage"; import DOMHelper from "@Content/Modules/DOMHelper"; export default class FSaveReviewFilters extends Feature { @@ -17,13 +17,13 @@ export default class FSaveReviewFilters extends Feature { const minPlaytime = document.querySelector("#app_reviews_playtime_range_min")?.value; const maxPlaytime = document.querySelector("#app_reviews_playtime_range_max")?.value; - LocalStorage.set("review_filters", { - ...((await LocalStorage.get("review_filters")) ?? {}), - context, - language, - ...(minPlaytime && {minPlaytime}), - ...(maxPlaytime && {maxPlaytime}) - }); + const value: LocalStorageSchema["review_filters"] = (await LocalStorage.get("review_filters")) ?? {}; + if (context) { value.context = context; } + if (language) { value.language = language; } + if (minPlaytime) { value.minPlaytime = minPlaytime; } + if (maxPlaytime) { value.maxPlaytime = maxPlaytime; } + + LocalStorage.set("review_filters", value); }); DOMHelper.insertScript("scriptlets/Store/App/saveReviewFilters.js", diff --git a/src/js/Core/Storage/LocalStorage.ts b/src/js/Core/Storage/LocalStorage.ts index 6cd853c75..6e6c2a74f 100644 --- a/src/js/Core/Storage/LocalStorage.ts +++ b/src/js/Core/Storage/LocalStorage.ts @@ -9,7 +9,7 @@ interface CacheEntry { expiry: number } -interface LocalStorageSchema extends StorageSchema { +export interface LocalStorageSchema extends StorageSchema { login: TLogin, storeCountry: string, currency: CacheEntry, @@ -41,8 +41,8 @@ interface LocalStorageSchema extends StorageSchema { expiry: number }, review_filters: { - context: string|undefined, - language: string|undefined, + context?: string, + language?: string, minPlaytime?: string, maxPlaytime?: string }