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();
+ });
+ });
}
}
});