summaryrefslogtreecommitdiff
path: root/src/client/app/desktop/views/components/settings.password.vue
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/app/desktop/views/components/settings.password.vue')
-rw-r--r--src/client/app/desktop/views/components/settings.password.vue47
1 files changed, 47 insertions, 0 deletions
diff --git a/src/client/app/desktop/views/components/settings.password.vue b/src/client/app/desktop/views/components/settings.password.vue
new file mode 100644
index 0000000000..f883b54065
--- /dev/null
+++ b/src/client/app/desktop/views/components/settings.password.vue
@@ -0,0 +1,47 @@
+<template>
+<div>
+ <button @click="reset" class="ui primary">%i18n:desktop.tags.mk-password-setting.reset%</button>
+</div>
+</template>
+
+<script lang="ts">
+import Vue from 'vue';
+
+export default Vue.extend({
+ methods: {
+ reset() {
+ (this as any).apis.input({
+ title: '%i18n:desktop.tags.mk-password-setting.enter-current-password%',
+ type: 'password'
+ }).then(currentPassword => {
+ (this as any).apis.input({
+ title: '%i18n:desktop.tags.mk-password-setting.enter-new-password%',
+ type: 'password'
+ }).then(newPassword => {
+ (this as any).apis.input({
+ title: '%i18n:desktop.tags.mk-password-setting.enter-new-password-again%',
+ type: 'password'
+ }).then(newPassword2 => {
+ if (newPassword !== newPassword2) {
+ (this as any).apis.dialog({
+ title: null,
+ text: '%i18n:desktop.tags.mk-password-setting.not-match%',
+ actions: [{
+ text: 'OK'
+ }]
+ });
+ return;
+ }
+ (this as any).api('i/change_password', {
+ currentPasword: currentPassword,
+ newPassword: newPassword
+ }).then(() => {
+ (this as any).apis.notify('%i18n:desktop.tags.mk-password-setting.changed%');
+ });
+ });
+ });
+ });
+ }
+ }
+});
+</script>