aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Database/userConfiguration.ts8
-rw-r--r--src/lib/Locale/english.ts3
-rw-r--r--src/lib/Locale/japanese.ts3
-rw-r--r--src/lib/Locale/layout.ts1
-rw-r--r--src/lib/Settings/Categories/SettingSync.svelte19
5 files changed, 32 insertions, 2 deletions
diff --git a/src/lib/Database/userConfiguration.ts b/src/lib/Database/userConfiguration.ts
index f1e3ef95..de86fbe4 100644
--- a/src/lib/Database/userConfiguration.ts
+++ b/src/lib/Database/userConfiguration.ts
@@ -64,3 +64,11 @@ export const toggleHololiveStreamPinning = async (userId: number, streamId: stri
pinned_hololive_streams: pinnedStreams
});
};
+
+export const deleteUserConfiguration = async (userId: number) => {
+ const { data, error } = await supabase.from('user_configuration').delete().eq('user_id', userId);
+
+ if (error || !data) return null;
+
+ return data;
+};
diff --git a/src/lib/Locale/english.ts b/src/lib/Locale/english.ts
index 831018a7..7b1b3d00 100644
--- a/src/lib/Locale/english.ts
+++ b/src/lib/Locale/english.ts
@@ -150,7 +150,8 @@ const English: Locale = {
title: 'Push Local Configuration',
hint: 'Enable settings sync and overwrite any remote configuration with your local settings'
},
- disable: 'Disable & Keep Local Configuration'
+ disable: 'Disable & Keep Local Configuration',
+ delete: 'Delete Remote Configuration'
}
}
},
diff --git a/src/lib/Locale/japanese.ts b/src/lib/Locale/japanese.ts
index 07bff6b9..28c8f9bb 100644
--- a/src/lib/Locale/japanese.ts
+++ b/src/lib/Locale/japanese.ts
@@ -151,7 +151,8 @@ const Japanese: Locale = {
title: 'ローカル設定をプッシュ',
hint: '設定同期を有効にして、リモート設定をローカル設定で上書きします'
},
- disable: '設定の同期を無効にし、ローカル設定を保持する'
+ disable: '設定の同期を無効にし、ローカル設定を保持する',
+ delete: 'リモート設定を削除'
}
}
},
diff --git a/src/lib/Locale/layout.ts b/src/lib/Locale/layout.ts
index 2f48f0a1..10f9d5f8 100644
--- a/src/lib/Locale/layout.ts
+++ b/src/lib/Locale/layout.ts
@@ -153,6 +153,7 @@ export interface Locale {
hint: LocaleValue;
};
disable: LocaleValue;
+ delete: LocaleValue;
};
};
};
diff --git a/src/lib/Settings/Categories/SettingSync.svelte b/src/lib/Settings/Categories/SettingSync.svelte
index 61fc6221..6a7de8d1 100644
--- a/src/lib/Settings/Categories/SettingSync.svelte
+++ b/src/lib/Settings/Categories/SettingSync.svelte
@@ -88,6 +88,25 @@
>
{$locale().settings.settingsSync.buttons.disable}
</button>
+ <button
+ on:click={() => {
+ fetch(root(`/api/configuration?id=${$identity.id}`), {
+ method: 'DELETE'
+ }).then((response) => {
+ if (response.ok) {
+ $settings.settingsSync = false;
+
+ addNotification(
+ options({
+ heading: 'Remote configuration deleted and settings sync disabled'
+ })
+ );
+ }
+ });
+ }}
+ >
+ {$locale().settings.settingsSync.buttons.delete}
+ </button>
<p />