2023-05-15 22:46:51 +00:00
|
|
|
{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}}
|
|
|
|
{{template "base/alert" .}}
|
|
|
|
{{end}}
|
|
|
|
<h4 class="ui top attached header center">
|
|
|
|
{{if .LinkAccountMode}}
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "auth.oauth_signin_title"}}
|
2023-05-15 22:46:51 +00:00
|
|
|
{{else}}
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "auth.login_userpass"}}
|
2023-05-15 22:46:51 +00:00
|
|
|
{{end}}
|
|
|
|
</h4>
|
|
|
|
<div class="ui attached segment">
|
|
|
|
<form class="ui form" action="{{.SignInLink}}" method="post">
|
|
|
|
{{.CsrfTokenHtml}}
|
|
|
|
<div class="required inline field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}">
|
2023-09-25 13:15:51 +00:00
|
|
|
<label for="user_name">{{ctx.Locale.Tr "home.uname_holder"}}</label>
|
2023-05-15 22:46:51 +00:00
|
|
|
<input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required>
|
|
|
|
</div>
|
|
|
|
{{if or (not .DisablePassword) .LinkAccountMode}}
|
|
|
|
<div class="required inline field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}">
|
2023-09-25 13:15:51 +00:00
|
|
|
<label for="password">{{ctx.Locale.Tr "password"}}</label>
|
2023-05-15 22:46:51 +00:00
|
|
|
<input id="password" name="password" type="password" value="{{.password}}" autocomplete="current-password" required>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
{{if not .LinkAccountMode}}
|
|
|
|
<div class="inline field">
|
|
|
|
<label></label>
|
|
|
|
<div class="ui checkbox">
|
2023-09-25 13:15:51 +00:00
|
|
|
<label>{{ctx.Locale.Tr "auth.remember_me"}}</label>
|
2023-05-15 22:46:51 +00:00
|
|
|
<input name="remember" type="checkbox">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
|
|
|
|
{{template "user/auth/captcha" .}}
|
|
|
|
|
|
|
|
<div class="inline field">
|
|
|
|
<label></label>
|
2023-09-18 22:05:31 +00:00
|
|
|
<button class="ui primary button">
|
2018-10-28 22:46:16 +00:00
|
|
|
{{if .LinkAccountMode}}
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "auth.oauth_signin_submit"}}
|
2018-10-28 22:46:16 +00:00
|
|
|
{{else}}
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "sign_in"}}
|
2017-03-17 14:16:08 +00:00
|
|
|
{{end}}
|
2023-05-15 22:46:51 +00:00
|
|
|
</button>
|
2023-09-25 13:15:51 +00:00
|
|
|
<a href="{{AppSubUrl}}/user/forgot_password">{{ctx.Locale.Tr "auth.forgot_password"}}</a>
|
2023-05-15 22:46:51 +00:00
|
|
|
</div>
|
2017-02-22 07:14:37 +00:00
|
|
|
|
2023-05-15 22:46:51 +00:00
|
|
|
{{if .ShowRegistrationButton}}
|
|
|
|
<div class="inline field">
|
|
|
|
<label></label>
|
2023-09-25 13:15:51 +00:00
|
|
|
<a href="{{AppSubUrl}}/user/sign_up">{{ctx.Locale.Tr "auth.sign_up_now" | Str2html}}</a>
|
2023-05-15 22:46:51 +00:00
|
|
|
</div>
|
|
|
|
{{end}}
|
2017-02-22 07:14:37 +00:00
|
|
|
|
2023-05-15 22:46:51 +00:00
|
|
|
{{if and .OrderedOAuth2Names .OAuth2Providers}}
|
2023-06-29 12:24:22 +00:00
|
|
|
<div class="divider divider-text">
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "sign_in_or"}}
|
2023-06-13 10:51:02 +00:00
|
|
|
</div>
|
|
|
|
<div id="oauth2-login-navigator" class="gt-py-2">
|
2023-06-08 16:35:29 +00:00
|
|
|
<div class="gt-df gt-fc gt-jc">
|
|
|
|
<div id="oauth2-login-navigator-inner" class="gt-df gt-fc gt-fw gt-ac gt-gap-3">
|
2023-05-18 11:50:11 +00:00
|
|
|
{{range $key := .OrderedOAuth2Names}}
|
|
|
|
{{$provider := index $.OAuth2Providers $key}}
|
2023-06-08 16:35:29 +00:00
|
|
|
<a class="{{$provider.Name}} ui button gt-df gt-ac gt-jc gt-py-3 oauth-login-link" href="{{AppSubUrl}}/user/oauth2/{{$key}}">
|
2023-09-19 21:47:13 +00:00
|
|
|
{{$provider.IconHTML 28}}
|
2023-09-25 13:15:51 +00:00
|
|
|
{{ctx.Locale.Tr "sign_in_with_provider" $provider.DisplayName}}
|
2023-05-18 11:50:11 +00:00
|
|
|
</a>
|
|
|
|
{{end}}
|
2017-03-17 14:16:08 +00:00
|
|
|
</div>
|
2017-02-22 07:14:37 +00:00
|
|
|
</div>
|
2023-05-15 22:46:51 +00:00
|
|
|
</div>
|
|
|
|
{{end}}
|
|
|
|
</form>
|
|
|
|
</div>
|