diff --git a/src/lib/Sidebar.svelte b/src/lib/Sidebar.svelte index cc61592..ea4bbb4 100644 --- a/src/lib/Sidebar.svelte +++ b/src/lib/Sidebar.svelte @@ -118,13 +118,33 @@ document.body.appendChild(link); link.click(); document.body.removeChild(link); - URL.revokeObjectURL(url); - } catch (error) { console.error('Error dumping localStorage:', error); } } + function loadLocalStorage() { + var fileInput = document.createElement('input'); + fileInput.type = "file"; + fileInput.addEventListener('change', function(e) { + var file = e.target.files[0]; + if (file) { + var reader = new FileReader(); + reader.onload = function(e) { + var data = JSON.parse(e.target.result); + Object.keys(data).forEach(function(key) { + localStorage.setItem(key, data[key]); + }); + window.location.reload(); + }; + reader.readAsText(file); + } + }); + document.body.appendChild(fileInput); + fileInput.click(); + fileInput.remove(); + } + onMount(() => { // console.log('Downloading from server.'); // fetchLocalStorage(); @@ -178,12 +198,12 @@