diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 26e055f5cd..d451ad72b7 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -691,6 +691,7 @@ saveConfirm: "保存しますか?" deleteConfirm: "削除しますか?" invalidValue: "有効な値ではありません。" registry: "レジストリ" +closeAccount: "アカウントを閉鎖する" _registry: scope: "スコープ" diff --git a/src/client/pages/settings/other.vue b/src/client/pages/settings/other.vue index bc42b747d5..426d91ba01 100644 --- a/src/client/pages/settings/other.vue +++ b/src/client/pages/settings/other.vue @@ -20,6 +20,8 @@ {{ $ts.registry }} + + {{ $ts.closeAccount }} @@ -35,6 +37,7 @@ import FormButton from '@/components/form/button.vue'; import * as os from '@/os'; import { debug } from '@/config'; import { defaultStore } from '@/store'; +import { signout } from '@/account'; export default defineComponent({ components: { @@ -83,6 +86,22 @@ export default defineComponent({ taskmanager() { os.popup(import('@/components/taskmanager.vue'), { }, {}, 'closed'); + }, + + closeAccount() { + os.dialog({ + title: this.$ts.password, + input: { + type: 'password' + } + }).then(({ canceled, result: password }) => { + if (canceled) return; + os.api('i/delete-account', { + password: password + }).then(() => { + signout(); + }); + }); } } });