diff --git a/src/lib/Sidebar.svelte b/src/lib/Sidebar.svelte
index 3c6f066..6cd6d60 100644
--- a/src/lib/Sidebar.svelte
+++ b/src/lib/Sidebar.svelte
@@ -93,7 +93,34 @@
async function syncLocalStorage(){
console.log("Syncing...")
uploadLocalStorage();
- fetchLocalStorage();
+ localStorage.setItem('lastModified', new Date().toISOString());
+ }
+
+ function dumpLocalStorage(){
+ try {
+ let storageObject = {};
+ for (let i = 0; i < localStorage.length; i++) {
+ const key = localStorage.key(i);
+ if (key) {
+ storageObject[key] = localStorage.getItem(key);
+ }
+ }
+
+ const dataStr = JSON.stringify(storageObject, null, 2);
+ const blob = new Blob([dataStr], { type: "application/json" });
+ const url = URL.createObjectURL(blob);
+ const link = document.createElement("a");
+ link.href = url;
+ const dateTimeStr = now.toISOString().replace(/:\d+\.\d+Z$/, '').replace(/-|:/g, '_');
+ link.download = `ChatGPT-web_${dateTimeStr}.json`;
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ URL.revokeObjectURL(url);
+
+ } catch (error) {
+ console.error('Error dumping localStorage:', error);
+ }
}
onMount(() => {
@@ -154,6 +181,11 @@