Avoid further UI flickering on load and show/hide OR in login screen if more than one is active

Fixes #5028
This commit is contained in:
Johannes Zellner 2023-08-01 12:57:25 +02:00
parent d17d12e719
commit 1271409989
3 changed files with 23 additions and 14 deletions

View file

@ -564,6 +564,9 @@ a:not(.disabled).is-active i.fa {
text-decoration: underline; text-decoration: underline;
text-decoration-color: #17683a; text-decoration-color: #17683a;
} }
.at-pwd-form, .at-sep, .at-oauth {
display: none;
}
@-moz-keyframes fadeIn { @-moz-keyframes fadeIn {
from { from {
opacity: 0; opacity: 0;
@ -636,7 +639,3 @@ a:not(.disabled).is-active i.fa {
transform: rotate(360deg); transform: rotate(360deg);
} }
} }
.at-pwd-form {
display: none;
}

View file

@ -25,12 +25,6 @@ Template.userFormsLayout.onCreated(function () {
templateInstance.currentSetting = new ReactiveVar(); templateInstance.currentSetting = new ReactiveVar();
templateInstance.isLoading = new ReactiveVar(false); templateInstance.isLoading = new ReactiveVar(false);
Meteor.call('isPasswordLoginEnabled', (_, result) => {
if (result) {
$('.at-pwd-form').show();
}
});
if (!ReactiveCache.getCurrentUser()?.profile) { if (!ReactiveCache.getCurrentUser()?.profile) {
Meteor.call('isOidcRedirectionEnabled', (_, result) => { Meteor.call('isOidcRedirectionEnabled', (_, result) => {
if (result) { if (result) {
@ -42,6 +36,7 @@ Template.userFormsLayout.onCreated(function () {
} }
}); });
} }
Meteor.call('isDisableRegistration', (_, result) => { Meteor.call('isDisableRegistration', (_, result) => {
if (result) { if (result) {
$('.at-signup-link').hide(); $('.at-signup-link').hide();
@ -53,7 +48,6 @@ Template.userFormsLayout.onCreated(function () {
$('.at-pwd-link').hide(); $('.at-pwd-link').hide();
} }
}); });
}); });
Template.userFormsLayout.onRendered(() => { Template.userFormsLayout.onRendered(() => {

View file

@ -16,11 +16,27 @@ Template.connectionMethod.onCreated(function() {
// If only the default authentication available, hides the select boxe // If only the default authentication available, hides the select boxe
const content = $('.at-form-authentication'); const content = $('.at-form-authentication');
if (!(this.authenticationMethods.get().length > 1)) { // OAuth method is a separate button, so ignore it in the count
content.hide(); const formAuthenticationMethods = this.authenticationMethods.get().filter((method) => method.value !== 'oauth2');
} else { if (formAuthenticationMethods > 1) {
content.show(); content.show();
} else {
content.hide();
} }
if (this.authenticationMethods.get().some((method) => method.value === 'oauth2')) {
$('.at-oauth').show();
}
Meteor.call('isPasswordLoginEnabled', (_, result) => {
if (result) {
$('.at-pwd-form').show();
}
if (result && this.authenticationMethods.get().length > 1) {
$('.at-sep').show();
}
});
}); });
}); });