From 3dc31548bf6c5c2c04108db431a1ca465f142716 Mon Sep 17 00:00:00 2001 From: Morgan Date: Thu, 15 Feb 2024 00:41:00 +0900 Subject: [PATCH] Fix --- src/lib/Sidebar.svelte | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/src/lib/Sidebar.svelte b/src/lib/Sidebar.svelte index a6bfe58..d7328d3 100644 --- a/src/lib/Sidebar.svelte +++ b/src/lib/Sidebar.svelte @@ -69,21 +69,27 @@ throw new Error('Network response was not ok.'); } - const newData = await response.json(); - localStorage.clear(); - - Object.entries(newData).forEach(([key, value]) => { - localStorage.setItem(key, value); - }); - console.log('Fetched savedata'); - window.reload(); + const lastModifiedServer = new Date(response.headers.get('Last-Modified')); + const lastModifiedLocal = new Date(localStorage.getItem('lastModified')); + + if (lastModifiedServer > lastModifiedLocal || !lastModifiedLocal) { + const newData = await response.json(); + localStorage.clear(); + + Object.entries(newData).forEach(([key, value]) => { + localStorage.setItem(key, value); + }); + + localStorage.setItem('lastModified', lastModifiedServer.toISOString()); + console.log('Fetched savedata'); + } else { + console.log('Local data is up-to-date or server data older.'); + } } catch (error) { console.error('Error fetching localStorage:', error); - } } - async function syncLocalStorage(){ console.log("Syncing...") uploadLocalStorage();