mirror of https://github.com/Requarks/wiki.git
NGPixel
7 years ago
committed by
Nicolas Giard
14 changed files with 147 additions and 40 deletions
Split View
Diff Options
-
1.vscode/settings.json
-
2client/js/app.js
-
66client/js/components/modal-profile-2fa.vue
-
7client/js/pages/admin-profile.component.js
-
2client/js/store/index.js
-
21client/js/store/modules/modal-profile-2fa.js
-
9client/scss/components/form.scss
-
9fuse.js
-
1package.json
-
7server/locales/en/admin.json
-
6server/locales/en/browser.json
-
25server/views/modals/admin-upgrade.pug
-
12server/views/pages/admin/profile.pug
-
19yarn.lock
@ -0,0 +1,66 @@ |
|||
<template lang="pug"> |
|||
transition(:duration="400") |
|||
.modal(v-show='isShown', v-cloak) |
|||
transition(name='modal-background') |
|||
.modal-background(v-show='isShown') |
|||
.modal-container |
|||
transition(name='modal-content') |
|||
.modal-content(v-show='isShown') |
|||
template(v-if='step === "qr"') |
|||
header.is-blue Setup your 2FA app |
|||
section.modal-loading |
|||
i |
|||
span Wiki.js {{ mode }} in progress... |
|||
em Please wait |
|||
template(v-if='step === "error"') |
|||
header.is-red Error |
|||
section.modal-loading |
|||
span {{ error }} |
|||
footer |
|||
a.button.is-grey.is-outlined(@click='cancel') Discard |
|||
template(v-if='step === "confirm"') |
|||
header.is-blue Two-Factor Authentication |
|||
section |
|||
label.label Do you want to enable 2FA? |
|||
span.note Two-Factor Authentication (2FA) provides an extra layer of security for your account. Upon login, you will be prompted to enter a token generated by a 2FA app (e.g. Authy, Google Authenticator, etc.). |
|||
footer |
|||
a.button.is-grey.is-outlined(@click='cancel') Discard |
|||
a.button.is-blue(@click='confirm') Setup |
|||
|
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: 'modal-profile-2fa', |
|||
data() { |
|||
return { |
|||
isLoading: false, |
|||
error: '' |
|||
} |
|||
}, |
|||
computed: { |
|||
isShown() { |
|||
return this.$store.state.modalProfile2fa.shown |
|||
}, |
|||
step() { |
|||
return this.$store.state.modalProfile2fa.step |
|||
} |
|||
}, |
|||
methods: { |
|||
cancel() { |
|||
this.isLoading = false |
|||
this.$store.dispatch('modalProfile2fa/close') |
|||
}, |
|||
confirm() { |
|||
this.$http.post('/admin/profile/2fa', { |
|||
action: 'setup' |
|||
}).then(resp => { |
|||
this.$store.commit('modalProfile2fa/stepChange', 'qr') |
|||
}).catch(err => { |
|||
this.$store.commit('modalProfile2fa/stepChange', 'error') |
|||
this.error = err.body.msg |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
@ -0,0 +1,21 @@ |
|||
'use strict' |
|||
|
|||
export default { |
|||
namespaced: true, |
|||
state: { |
|||
shown: false, |
|||
step: 'confirm' |
|||
}, |
|||
getters: {}, |
|||
mutations: { |
|||
shownChange: (state, shownState) => { state.shown = shownState }, |
|||
stepChange: (state, stepState) => { state.step = stepState } |
|||
}, |
|||
actions: { |
|||
open({ commit }, opts) { |
|||
commit('shownChange', true) |
|||
commit('stepChange', 'confirm') |
|||
}, |
|||
close({ commit }) { commit('shownChange', false) } |
|||
} |
|||
} |
@ -1,25 +0,0 @@ |
|||
.modal(v-bind:class='{ "is-active": upgradeModal.state }') |
|||
.modal-background |
|||
.modal-container |
|||
.modal-content |
|||
template(v-if='upgradeModal.step === "running"') |
|||
header.is-blue Install |
|||
section.modal-loading |
|||
i |
|||
span Wiki.js {{ upgradeModal.mode }} in progress... |
|||
em Please wait |
|||
template(v-if='upgradeModal.step === "error"') |
|||
header.is-red Installation Error |
|||
section.modal-loading |
|||
span {{ upgradeModal.error }} |
|||
footer |
|||
a.button.is-grey.is-outlined(v-on:click='upgradeCancel') Abort |
|||
a.button.is-deep-orange(v-on:click='upgradeStart') Try Again |
|||
template(v-if='upgradeModal.step === "confirm"') |
|||
header.is-deep-orange Are you sure? |
|||
section |
|||
label.label You are about to {{ upgradeModal.mode }} Wiki.js. |
|||
span.note You will not be able to access your wiki during the operation. Content will not be affected. However, it is your responsability to ensure you have a backup in the unexpected event content gets lost or corrupted. |
|||
footer |
|||
a.button.is-grey.is-outlined(v-on:click='upgradeCancel') Abort |
|||
a.button.is-deep-orange(v-on:click='upgradeStart') Start |
Write
Preview
Loading…
Cancel
Save