From 1e1e8b5d43a36aa788ce0973fa57ac6df648cbd0 Mon Sep 17 00:00:00 2001 From: silverwind Date: Thu, 18 May 2023 13:50:11 +0200 Subject: [PATCH] Fix OAuth loading state (#24788) Fix regression from https://github.com/go-gitea/gitea/pull/24740 where the loading state was not showing because the `oauth-login-image` class was removed. Replaced the Fomantic loader with a pure CSS loader and cleaned up the HTML. Diff: https://github.com/go-gitea/gitea/pull/24788/files?diff=unified&w=1 ![](https://github.com/go-gitea/gitea/assets/115237/b5b4137f-9821-464b-9777-858fe85d9e03) Co-authored-by: Giteabot --- templates/user/auth/signin_inner.tmpl | 51 +++++++++++++-------------- web_src/css/modules/animations.css | 5 +++ web_src/js/features/user-auth.js | 32 ++++++++--------- 3 files changed, 44 insertions(+), 44 deletions(-) diff --git a/templates/user/auth/signin_inner.tmpl b/templates/user/auth/signin_inner.tmpl index ceafc257ea..8d9375de75 100644 --- a/templates/user/auth/signin_inner.tmpl +++ b/templates/user/auth/signin_inner.tmpl @@ -54,33 +54,30 @@ {{if and .OrderedOAuth2Names .OAuth2Providers}}
-
-
-
-
- {{.locale.Tr "sign_in_with"}} - + diff --git a/web_src/css/modules/animations.css b/web_src/css/modules/animations.css index 689898da2a..0151f1e002 100644 --- a/web_src/css/modules/animations.css +++ b/web_src/css/modules/animations.css @@ -46,6 +46,11 @@ code.language-math.is-loading::after { height: 1.25rem; } +#oauth2-login-navigator.is-loading::after { + width: 40px; + height: 40px; +} + @keyframes fadein { 0% { opacity: 0; diff --git a/web_src/js/features/user-auth.js b/web_src/js/features/user-auth.js index 60ea14dfaa..e3ce4e56e4 100644 --- a/web_src/js/features/user-auth.js +++ b/web_src/js/features/user-auth.js @@ -1,24 +1,22 @@ import $ from 'jquery'; -import {hideElem, showElem} from '../utils/dom.js'; export function initUserAuthOauth2() { - const $oauth2LoginNav = $('#oauth2-login-navigator'); - if ($oauth2LoginNav.length === 0) return; + const outer = document.getElementById('oauth2-login-navigator'); + if (!outer) return; + const inner = document.getElementById('oauth2-login-navigator-inner'); - $oauth2LoginNav.find('.oauth-login-image').on('click', () => { - const oauthLoader = $('#oauth2-login-loader'); - const oauthNav = $('#oauth2-login-navigator'); - - hideElem(oauthNav); - oauthLoader.removeClass('disabled'); - - setTimeout(() => { - // recover previous content to let user try again - // usually redirection will be performed before this action - oauthLoader.addClass('disabled'); - showElem(oauthNav); - }, 5000); - }); + for (const link of outer.querySelectorAll('.oauth-login-link')) { + link.addEventListener('click', () => { + inner.classList.add('gt-invisible'); + outer.classList.add('is-loading'); + setTimeout(() => { + // recover previous content to let user try again + // usually redirection will be performed before this action + outer.classList.remove('is-loading'); + inner.classList.remove('gt-invisible'); + }, 5000); + }); + } } export function initUserAuthLinkAccountView() {