{$_('common.backToDashboard')}

{$_('security.title')}

{#if loading}
{#each Array(4) as _}
{/each}
{:else}

{$_('security.totp')}

{$_('security.totpDescription')}

{#if setupStep === 'idle'} {#if totpEnabled}
{$_('security.totpEnabled')}
{#if !showDisableForm && !showRegenForm}
{/if} {#if showRegenForm}

{$_('security.regenerateBackupCodes')}

{$_('security.regenerateConfirm')}

{/if} {#if showDisableForm}

{$_('security.disableTotp')}

{$_('security.disableTotpWarning')}

{/if} {:else}
{$_('security.totpDisabled')}
{/if} {:else if setupStep === 'qr'}

{$_('security.totpSetup')}

{$_('security.totpSetupInstructions')}

TOTP QR Code
{$_('security.cantScan')} {totpUri.split('secret=')[1]?.split('&')[0] || ''}
{:else if setupStep === 'verify'}

{$_('security.totpSetup')}

{$_('security.totpCodePlaceholder')}

{:else if setupStep === 'backup'}

{$_('security.backupCodes')}

{$_('security.backupCodesDescription')}

{#each backupCodes as code} {code} {/each}
{/if}

{$_('security.passkeys')}

{$_('security.passkeysDescription')}

{#if !passkeysLoading} {#if passkeys.length > 0}
{#each passkeys as passkey}
{#if editingPasskeyId === passkey.id}
{:else}
{passkey.friendlyName || $_('security.unnamedPasskey')} {$_('security.added')} {formatDate(passkey.createdAt)} {#if passkey.lastUsed} · {$_('security.lastUsed')} {formatDate(passkey.lastUsed)} {/if}
{#if hasPassword || passkeys.length > 1} {/if}
{/if}
{/each}
{:else}
{$_('security.noPasskeys')}
{/if}
{/if}

{$_('security.password')}

{$_('security.passwordDescription')}

{#if !passwordLoading && hasPassword}
{$_('security.passwordStatus')}
{#if passkeys.length > 0} {#if !showRemovePasswordForm} {:else}

{$_('security.removePassword')}

{$_('security.removePasswordWarning')}

{$_('security.beforeProceeding')}
  • {$_('security.beforeProceedingItem1')}
  • {$_('security.beforeProceedingItem2')}
  • {$_('security.beforeProceedingItem3')}
{/if} {:else}

{$_('security.addPasskeyFirst')}

{/if} {:else}
{$_('security.noPassword')}

{$_('security.passkeyOnlyHint')}

{$_('security.addPasswordHint')}

{$_('security.goToSettings')} {/if}

{$_('security.trustedDevices')}

{$_('security.trustedDevicesDescription')}

{$_('security.manageTrustedDevices')} →
{#if hasMfa}

{$_('security.appCompatibility')}

{$_('security.legacyLoginDescription')}

{#if !legacyLoginLoading}
{$_('security.legacyLogin')} {#if allowLegacyLogin} {$_('security.legacyLoginOn')} {:else} {$_('security.legacyLoginOff')} {/if}
{#if totpEnabled}
{$_('security.legacyLoginWarning')}

{$_('security.totpPasswordWarning')}

  1. {$_('security.totpPasswordOption1Label')} {$_('security.totpPasswordOption1Text')} {$_('security.totpPasswordOption1Link')} {$_('security.totpPasswordOption1Suffix')}
  2. {$_('security.totpPasswordOption2Label')} {$_('security.totpPasswordOption2Text')} {$_('security.totpPasswordOption2Link')} {$_('security.totpPasswordOption2Suffix')}
{/if}
{$_('security.legacyAppsTitle')}

{$_('security.legacyAppsDescription')}

{/if}
{/if} {/if}