瀏覽代碼

fix: avoid multi-clicks when perform oauth2 login (#6467)

tags/v1.9.0-rc1
BetaCat 5 年之前
父節點
當前提交
2e1ead8054
共有 2 個檔案被更改,包括 29 行新增4 行删除
  1. 14
    0
      public/js/index.js
  2. 15
    4
      templates/user/auth/signin_inner.tmpl

+ 14
- 0
public/js/index.js 查看文件

@@ -2980,3 +2980,17 @@ function cancelCodeComment(btn) {
form.closest('.comment-code-cloud').remove()
}
}
function onOAuthLoginClick() {
var oauthLoader = $('#oauth2-login-loader');
var oauthNav = $('#oauth2-login-navigator');

oauthNav.hide();
oauthLoader.removeClass('disabled');

setTimeout(function(){
// recover previous content to let user try again
// usually redirection will be performed before this action
oauthLoader.addClass('disabled');
oauthNav.show();
},5000);
}

+ 15
- 4
templates/user/auth/signin_inner.tmpl 查看文件

@@ -51,11 +51,22 @@
{{if and .OrderedOAuth2Names .OAuth2Providers}}
<div class="ui attached segment">
<div class="oauth2 center">
<div id="oauth2-login-loader" class="ui disabled centered loader"></div>
<div>
<p>{{.i18n.Tr "sign_in_with"}}</p>{{range $key := .OrderedOAuth2Names}}
{{$provider := index $.OAuth2Providers $key}}
<a href="{{AppSubUrl}}/user/oauth2/{{$key}}"><img alt="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}" title="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}" class="{{$provider.Name}}" src="{{AppSubUrl}}{{$provider.Image}}"></a>
{{end}}
<div id="oauth2-login-navigator">
<p>{{.i18n.Tr "sign_in_with"}}</p>
{{range $key := .OrderedOAuth2Names}}
{{$provider := index $.OAuth2Providers $key}}
<a href="{{AppSubUrl}}/user/oauth2/{{$key}}">
<img
alt="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}"
title="{{$provider.DisplayName}}{{if eq $provider.Name "openidConnect"}} ({{$key}}){{end}}"
class="{{$provider.Name}}"
src="{{AppSubUrl}}{{$provider.Image}}"
onclick="onOAuthLoginClick()"
></a>
{{end}}
</div>
</div>
</div>
</div>

Loading…
取消
儲存