Browse Source

fix: Safely retrieve settings from LocalStorage

kiosion 9 months ago
parent
commit
f30428754f
1 changed files with 10 additions and 2 deletions
  1. 10 2
      src/routes/(app)/+layout.svelte

+ 10 - 2
src/routes/(app)/+layout.svelte

@@ -81,9 +81,17 @@
 			});
 
 			if (userSettings) {
-				await settings.set(userSettings.ui);
+				settings.set(userSettings.ui);
 			} else {
-				await settings.set(JSON.parse(localStorage.getItem('settings') ?? '{}'));
+				let localStorageSettings = {} as Parameters<(typeof settings)['set']>[0];
+
+				try {
+					localStorageSettings = JSON.parse(localStorage.getItem('settings') ?? '{}');
+				} catch (e: unknown) {
+					console.error('Failed to parse settings from localStorage', e);
+				}
+
+				settings.set(localStorageSettings);
 			}
 
 			await Promise.all([