diff --git a/app/assets/javascripts/discourse/app/controllers/login.js b/app/assets/javascripts/discourse/app/controllers/login.js index aabc8444707..c175d7a647e 100644 --- a/app/assets/javascripts/discourse/app/controllers/login.js +++ b/app/assets/javascripts/discourse/app/controllers/login.js @@ -83,24 +83,29 @@ export default Controller.extend(ModalFunctionality, { "awaitingApproval", "hasAtLeastOneLoginButton", "showSecondFactor", - "canLoginLocal" + "canLoginLocal", + "showSecurityKey" ) modalBodyClasses( awaitingApproval, hasAtLeastOneLoginButton, showSecondFactor, - canLoginLocal + canLoginLocal, + showSecurityKey ) { const classes = ["login-modal"]; if (awaitingApproval) { classes.push("awaiting-approval"); } - if (hasAtLeastOneLoginButton && !showSecondFactor) { + if (hasAtLeastOneLoginButton && !showSecondFactor && !showSecurityKey) { classes.push("has-alt-auth"); } if (!canLoginLocal) { classes.push("no-local-login"); } + if (showSecondFactor || showSecurityKey) { + classes.push("second-factor"); + } return classes.join(" "); }, @@ -166,8 +171,6 @@ export default Controller.extend(ModalFunctionality, { (result.security_key_enabled || result.totp_enabled) && !this.secondFactorRequired ) { - document.getElementById("modal-alert").style.display = "none"; - this.setProperties({ otherMethodAllowed: result.multiple_second_factor_methods, secondFactorRequired: true, diff --git a/app/assets/stylesheets/common/base/login.scss b/app/assets/stylesheets/common/base/login.scss index 1c98616a1c0..8b8cf5ace16 100644 --- a/app/assets/stylesheets/common/base/login.scss +++ b/app/assets/stylesheets/common/base/login.scss @@ -27,6 +27,18 @@ } } +.d-modal.login-modal { + #modal-alert:empty { + display: none; + } + + #modal-alert:not(:empty) { + display: flex; + flex-direction: column; + justify-content: center; + } +} + // Create Account + Login .d-modal.create-account, .d-modal.login-modal { diff --git a/app/assets/stylesheets/desktop/login.scss b/app/assets/stylesheets/desktop/login.scss index 533c2682de4..49d3654be08 100644 --- a/app/assets/stylesheets/desktop/login.scss +++ b/app/assets/stylesheets/desktop/login.scss @@ -55,7 +55,7 @@ #modal-alert { max-width: 100%; margin-bottom: 0; - padding: 8px 40px 8px 16px; + padding: 8px 50px 8px 16px; min-height: 35px; } @@ -101,6 +101,15 @@ } } +.login-modal.modal-body:not(.hidden).second-factor { + .login-left-side { + max-width: 350px; + } + .modal-footer { + margin-top: 1em; + } +} + // styles used on // login modal only .login-modal:not(.hidden) {