@if (passwordError()) { {{ passwordError()! | transloco }} } @if (passwordSuccess()) { {{ "settings.security.passwordUpdated" | transloco }} }
{{ "settings.security.minimumLengthHint" | transloco }}
@if (securityError()) { {{ securityError()! | transloco }} } @if (totpError()) { {{ totpError()! | transloco }} } @if (totpSuccess()) { {{ totpSuccess()! | transloco }} } @if (isSecurityLoading()) {

{{ "settings.security.loading" | transloco }}

} @else { @if (totpEnabled()) {

{{ "settings.security.twoFactor.enabledDescription" | transloco }}

{{ "settings.security.twoFactor.disableHint" | transloco }}
} @else { @if (!totpSetup()) {

{{ "settings.security.twoFactor.setupDescription" | transloco }}

} @else {
{{ "settings.security.twoFactor.secretLabel" | transloco }} {{ totpSetup()!.secret }}
} } }
@if (!isSecurityLoading()) { @if (totpEnabled()) { } @else { @if (!totpSetup()) { } @else { } } }
@if (passkeyError()) { {{ passkeyError()! | transloco }} } @if (passkeySuccess()) { {{ passkeySuccess()! | transloco }} } @if (passkeys().length === 0) {

{{ "settings.security.passkeys.empty" | transloco }}

} @else {
@for (passkey of passkeys(); track passkey.id) {
{{ passkey.name }}
}
}
{{ "settings.security.passkeys.nameHint" | transloco }}
@if (recoveryCodeError()) { {{ recoveryCodeError()! | transloco }} } @if (recoveryCodeSuccess()) { {{ recoveryCodeSuccess()! | transloco }} }
{{ "settings.security.recoveryCodes.remainingLabel" | transloco }} {{ "settings.security.recoveryCodes.remainingValue" | transloco: { count: recoveryCodesRemaining() } }}
@if (recoveryCodesGenerated()) { {{ "settings.security.recoveryCodes.generatedBadge" | transloco }} }
@if (!hasMfaProtection()) { {{ "settings.security.recoveryCodes.requiresMfa" | transloco }} } @if (recoveryCodes().length > 0) {
{{ "settings.security.recoveryCodes.codesTitle" | transloco }} {{ "settings.security.recoveryCodes.codesHint" | transloco }}
@for (code of recoveryCodes(); track code) { {{ code }} }
}