refactor: improve MFA section visual hierarchy in SecurityTab
Redesigns the MFA method cards and supporting sections for better visual hierarchy and professional styling: Method cards (organizer): - Vertical layout with large icon (VAvatar 44px) at top - Description text explaining each method - Status chip with check icon when configured - VCardActions with primary chip/button + "Opnieuw instellen" - Primary method card highlighted with 2px primary border - Proper h-100 for equal height side-by-side Backup codes: - Separate outlined VCard with key icon, progress bar, refresh button - Cleaner spacing and visual grouping Disable MFA: - Replaced heavy danger-zone card with subtle text button (tabler-shield-off icon, error color) — less visual weight for a rarely-used destructive action Portal: - Per-method rows with VAvatar icons and stacked status chips - Matching text-button style for disable action Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -676,29 +676,39 @@ function viewEvent(eventId: string) {
|
||||
<div class="d-flex flex-column gap-3 mb-4">
|
||||
<!-- TOTP row -->
|
||||
<div class="d-flex align-center justify-space-between">
|
||||
<div class="d-flex align-center">
|
||||
<VIcon
|
||||
icon="tabler-device-mobile"
|
||||
size="20"
|
||||
class="me-2"
|
||||
/>
|
||||
<span class="text-body-2 font-weight-medium me-2">Authenticator app</span>
|
||||
<VChip
|
||||
:color="totpConfigured ? 'success' : 'default'"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
>
|
||||
{{ totpConfigured ? 'Actief' : 'Niet ingesteld' }}
|
||||
</VChip>
|
||||
<VChip
|
||||
v-if="totpConfigured && preferredMethod === 'totp'"
|
||||
<div class="d-flex align-center gap-2">
|
||||
<VAvatar
|
||||
color="primary"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
class="ms-1"
|
||||
size="32"
|
||||
rounded
|
||||
>
|
||||
Primair
|
||||
</VChip>
|
||||
<VIcon
|
||||
icon="tabler-device-mobile"
|
||||
size="18"
|
||||
/>
|
||||
</VAvatar>
|
||||
<div>
|
||||
<span class="text-body-2 font-weight-medium">Authenticator app</span>
|
||||
<div class="d-flex align-center gap-1 mt-1">
|
||||
<VChip
|
||||
:color="totpConfigured ? 'success' : 'default'"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
:prepend-icon="totpConfigured ? 'tabler-check' : undefined"
|
||||
>
|
||||
{{ totpConfigured ? 'Actief' : 'Niet ingesteld' }}
|
||||
</VChip>
|
||||
<VChip
|
||||
v-if="totpConfigured && preferredMethod === 'totp'"
|
||||
color="primary"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
>
|
||||
Primair
|
||||
</VChip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<VBtn
|
||||
v-if="totpConfigured && preferredMethod !== 'totp'"
|
||||
@@ -714,29 +724,39 @@ function viewEvent(eventId: string) {
|
||||
|
||||
<!-- Email row -->
|
||||
<div class="d-flex align-center justify-space-between">
|
||||
<div class="d-flex align-center">
|
||||
<VIcon
|
||||
icon="tabler-mail"
|
||||
size="20"
|
||||
class="me-2"
|
||||
/>
|
||||
<span class="text-body-2 font-weight-medium me-2">E-mailcode</span>
|
||||
<VChip
|
||||
color="success"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
>
|
||||
Actief
|
||||
</VChip>
|
||||
<VChip
|
||||
v-if="preferredMethod === 'email'"
|
||||
<div class="d-flex align-center gap-2">
|
||||
<VAvatar
|
||||
color="primary"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
class="ms-1"
|
||||
size="32"
|
||||
rounded
|
||||
>
|
||||
Primair
|
||||
</VChip>
|
||||
<VIcon
|
||||
icon="tabler-mail"
|
||||
size="18"
|
||||
/>
|
||||
</VAvatar>
|
||||
<div>
|
||||
<span class="text-body-2 font-weight-medium">E-mailcode</span>
|
||||
<div class="d-flex align-center gap-1 mt-1">
|
||||
<VChip
|
||||
color="success"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
prepend-icon="tabler-check"
|
||||
>
|
||||
Actief
|
||||
</VChip>
|
||||
<VChip
|
||||
v-if="preferredMethod === 'email'"
|
||||
color="primary"
|
||||
variant="tonal"
|
||||
size="x-small"
|
||||
>
|
||||
Primair
|
||||
</VChip>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<VBtn
|
||||
v-if="preferredMethod !== 'email'"
|
||||
@@ -752,9 +772,10 @@ function viewEvent(eventId: string) {
|
||||
</div>
|
||||
|
||||
<VBtn
|
||||
variant="text"
|
||||
color="error"
|
||||
variant="tonal"
|
||||
size="small"
|
||||
prepend-icon="tabler-shield-off"
|
||||
class="mb-4"
|
||||
@click="showDisableDialog = true"
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user