From 7fe43283ac60f6249b96d2b794cbf41455619b4d Mon Sep 17 00:00:00 2001 From: Made Baruna Date: Sat, 13 Mar 2021 21:20:52 +0800 Subject: [PATCH] Multiple account support --- src/components/DataSync.svelte | 14 ++ src/components/SettingData.svelte | 27 ++- src/components/TodoData.svelte | 16 +- src/components/WishImportModal.svelte | 9 +- src/routes/settings/_deleteAccount.svelte | 16 ++ src/routes/settings/_resetAccount.svelte | 16 ++ .../index.svelte} | 189 +++++++++++++++++- src/routes/wish/_counter.svelte | 7 +- src/routes/wish/_summary.svelte | 4 +- src/stores/account.js | 13 ++ src/stores/saveManager.js | 25 +-- 11 files changed, 294 insertions(+), 42 deletions(-) create mode 100644 src/routes/settings/_deleteAccount.svelte create mode 100644 src/routes/settings/_resetAccount.svelte rename src/routes/{settings.svelte => settings/index.svelte} (55%) create mode 100644 src/stores/account.js diff --git a/src/components/DataSync.svelte b/src/components/DataSync.svelte index 782753ec..126cd21e 100644 --- a/src/components/DataSync.svelte +++ b/src/components/DataSync.svelte @@ -17,6 +17,7 @@ const SCOPES = 'https://www.googleapis.com/auth/drive.appdata'; let remoteSave = null; + let timeout; $: localSaveExists = $updateTime !== null; @@ -39,9 +40,19 @@ script.onerror = handleError; script.src = 'https://apis.google.com/js/api.js'; document.body.appendChild(script); + + timeout = setTimeout(() => { + handleError(); + }, 5000); + } + + function cancelTimeout() { + console.log('cancelling timeout'); + if (timeout) clearTimeout(timeout); } function handleError() { + cancelTimeout(); console.log('error loading google drive api'); driveSignedIn.set(false); driveLoading.set(false); @@ -220,6 +231,8 @@ } function initClient() { + console.log('gapi init client'); + gapi.client .init({ apiKey: API_KEY, @@ -229,6 +242,7 @@ }) .then( function () { + cancelTimeout(); gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus); updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get()); }, diff --git a/src/components/SettingData.svelte b/src/components/SettingData.svelte index d5ea4316..80dfb161 100644 --- a/src/components/SettingData.svelte +++ b/src/components/SettingData.svelte @@ -1,5 +1,6 @@ + +
+

Delete {account.label}?

+

All todo and wish history data will be deleted

+
+ + +
+
diff --git a/src/routes/settings/_resetAccount.svelte b/src/routes/settings/_resetAccount.svelte new file mode 100644 index 00000000..6006e0c0 --- /dev/null +++ b/src/routes/settings/_resetAccount.svelte @@ -0,0 +1,16 @@ + + +
+

Reset {account.label}?

+

All todo and wish history data will be deleted

+
+ + +
+
diff --git a/src/routes/settings.svelte b/src/routes/settings/index.svelte similarity index 55% rename from src/routes/settings.svelte rename to src/routes/settings/index.svelte index 151c419a..902b82e3 100644 --- a/src/routes/settings.svelte +++ b/src/routes/settings/index.svelte @@ -1,15 +1,24 @@