Implement email config

This commit is contained in:
syuilo
2018-11-29 16:23:45 +09:00
parent 0ce64f8c33
commit 1bc109b42c
10 changed files with 280 additions and 13 deletions

View File

@ -66,6 +66,19 @@
<ui-switch v-model="carefulBot" @change="save(false)">{{ $t('careful-bot') }}</ui-switch>
</div>
</section>
<section>
<header>{{ $t('email') }}</header>
<div>
<template v-if="$store.state.i.email != null">
<ui-info v-if="$store.state.i.emailVerified">{{ $t('email-verified') }}</ui-info>
<ui-info v-else warn>{{ $t('email-not-verified') }}</ui-info>
</template>
<ui-input v-model="email" type="email"><span>{{ $t('email-address') }}</span></ui-input>
<ui-button @click="updateEmail()">{{ $t('save') }}</ui-button>
</div>
</section>
</ui-card>
</template>
@ -77,9 +90,11 @@ import { toUnicode } from 'punycode';
export default Vue.extend({
i18n: i18n('common/views/components/profile-editor.vue'),
data() {
return {
host: toUnicode(host),
email: null,
name: null,
username: null,
location: null,
@ -113,7 +128,8 @@ export default Vue.extend({
},
created() {
this.name = this.$store.state.i.name || '';
this.email = this.$store.state.i.email;
this.name = this.$store.state.i.name;
this.username = this.$store.state.i.username;
this.location = this.$store.state.i.profile.location;
this.description = this.$store.state.i.description;
@ -199,6 +215,12 @@ export default Vue.extend({
});
}
});
},
updateEmail() {
this.$root.api('i/update_email', {
email: this.email == '' ? null : this.email
});
}
}
});