From 9a63e033a13d2e065fc1e344f024e74f351574b6 Mon Sep 17 00:00:00 2001 From: Neshura Date: Wed, 22 May 2024 23:03:26 +0200 Subject: [PATCH] Permanently Fix LocalStorage Problems --- src/routes/+page.svelte | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 8acdc7c..89b1581 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -22,6 +22,7 @@ import {Inventory} from "$lib/containers.svelte"; import InventoryList from "$lib/components/InventoryList.svelte"; + const STORAGE_VERSION = "2"; let i18n = $state(new Localization("en-GB")); let mounted = $state(false); @@ -50,7 +51,7 @@ let material: CargoMaterial = $state(CargoMaterial.Ore); $effect(() => { if (mounted) { - localStorage.setItem("density", JSON.stringify(material.save())); + localStorage.setItem("density", material.save()); } }) @@ -80,7 +81,20 @@ i18n.language = navigator.language; } - let ret = getFromLocalStorage("ship"); + let ret = getFromLocalStorage("version"); + if (ret.result) { + console.log(ret); + if (ret.value !== STORAGE_VERSION) { + localStorage.clear(); + localStorage.setItem("version", STORAGE_VERSION); + } + } + else { + localStorage.clear(); + localStorage.setItem("version", STORAGE_VERSION); + } + + ret = getFromLocalStorage("ship"); if (ret.result) { ship.load(JSON.parse(ret.value)); } @@ -92,7 +106,7 @@ ret = getFromLocalStorage("density"); if (ret.result) { - let parsed = JSON.parse(ret.value); + let parsed = ret.value; Object.values(CargoMaterial).forEach((cargoMaterial) => { if (cargoMaterial.name === parsed) { material = cargoMaterial