moved stuff from settings, cleaned up naming for tabs, added close and peek
This commit is contained in:
parent
2e35289c33
commit
bcebec478e
42 changed files with 801 additions and 1053 deletions
|
@ -1,173 +0,0 @@
|
|||
<template>
|
||||
<div
|
||||
v-if="readyInit && settings.available"
|
||||
class="setting-item mfa-settings"
|
||||
>
|
||||
<div class="mfa-heading">
|
||||
<h2>{{ $t('settings.mfa.title') }}</h2>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div
|
||||
v-if="!setupInProgress"
|
||||
class="setting-item"
|
||||
>
|
||||
<!-- Enabled methods -->
|
||||
<h3>{{ $t('settings.mfa.authentication_methods') }}</h3>
|
||||
<totp-item
|
||||
:settings="settings"
|
||||
@deactivate="fetchSettings"
|
||||
@activate="activateOTP"
|
||||
/>
|
||||
<br>
|
||||
|
||||
<div v-if="settings.enabled">
|
||||
<!-- backup codes block-->
|
||||
<recovery-codes
|
||||
v-if="!confirmNewBackupCodes"
|
||||
:backup-codes="backupCodes"
|
||||
/>
|
||||
<button
|
||||
v-if="!confirmNewBackupCodes"
|
||||
class="btn btn-default"
|
||||
@click="getBackupCodes"
|
||||
>
|
||||
{{ $t('settings.mfa.generate_new_recovery_codes') }}
|
||||
</button>
|
||||
|
||||
<div v-if="confirmNewBackupCodes">
|
||||
<confirm
|
||||
:disabled="backupCodes.inProgress"
|
||||
@confirm="confirmBackupCodes"
|
||||
@cancel="cancelBackupCodes"
|
||||
>
|
||||
<p class="warning">
|
||||
{{ $t('settings.mfa.warning_of_generate_new_codes') }}
|
||||
</p>
|
||||
</confirm>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="setupInProgress">
|
||||
<!-- setup block-->
|
||||
|
||||
<h3>{{ $t('settings.mfa.setup_otp') }}</h3>
|
||||
|
||||
<recovery-codes
|
||||
v-if="!setupOTPInProgress"
|
||||
:backup-codes="backupCodes"
|
||||
/>
|
||||
|
||||
<button
|
||||
v-if="canSetupOTP"
|
||||
class="btn btn-default"
|
||||
@click="cancelSetup"
|
||||
>
|
||||
{{ $t('general.cancel') }}
|
||||
</button>
|
||||
|
||||
<button
|
||||
v-if="canSetupOTP"
|
||||
class="btn btn-default"
|
||||
@click="setupOTP"
|
||||
>
|
||||
{{ $t('settings.mfa.setup_otp') }}
|
||||
</button>
|
||||
|
||||
<template v-if="setupOTPInProgress">
|
||||
<i v-if="prepareOTP">{{ $t('settings.mfa.wait_pre_setup_otp') }}</i>
|
||||
|
||||
<div v-if="confirmOTP">
|
||||
<div class="setup-otp">
|
||||
<div class="qr-code">
|
||||
<h4>{{ $t('settings.mfa.scan.title') }}</h4>
|
||||
<p>{{ $t('settings.mfa.scan.desc') }}</p>
|
||||
<qrcode
|
||||
:value="otpSettings.provisioning_uri"
|
||||
:options="{ width: 200 }"
|
||||
/>
|
||||
<p>
|
||||
{{ $t('settings.mfa.scan.secret_code') }}:
|
||||
{{ otpSettings.key }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="verify">
|
||||
<h4>{{ $t('general.verify') }}</h4>
|
||||
<p>{{ $t('settings.mfa.verify.desc') }}</p>
|
||||
<input
|
||||
v-model="otpConfirmToken"
|
||||
type="text"
|
||||
>
|
||||
|
||||
<p>{{ $t('settings.enter_current_password_to_confirm') }}:</p>
|
||||
<input
|
||||
v-model="currentPassword"
|
||||
type="password"
|
||||
>
|
||||
<div class="confirm-otp-actions">
|
||||
<button
|
||||
class="btn btn-default"
|
||||
@click="doConfirmOTP"
|
||||
>
|
||||
{{ $t('settings.mfa.confirm_and_enable') }}
|
||||
</button>
|
||||
<button
|
||||
class="btn btn-default"
|
||||
@click="cancelSetup"
|
||||
>
|
||||
{{ $t('general.cancel') }}
|
||||
</button>
|
||||
</div>
|
||||
<div
|
||||
v-if="error"
|
||||
class="alert error"
|
||||
>
|
||||
{{ error }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script src="./mfa.js"></script>
|
||||
<style lang="scss">
|
||||
@import '../../_variables.scss';
|
||||
.warning {
|
||||
color: $fallback--cOrange;
|
||||
color: var(--cOrange, $fallback--cOrange);
|
||||
}
|
||||
.mfa-settings {
|
||||
.mfa-heading, .method-item {
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
align-items: baseline;
|
||||
}
|
||||
|
||||
.setup-otp {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
.qr-code {
|
||||
flex: 1;
|
||||
padding-right: 10px;
|
||||
}
|
||||
.verify { flex: 1; }
|
||||
.error { margin: 4px 0 0 0; }
|
||||
.confirm-otp-actions {
|
||||
button {
|
||||
width: 15em;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Loading…
Add table
Add a link
Reference in a new issue