|
1 |
| -{{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}} |
2 |
| -{{template "base/alert" .}} |
3 |
| -{{end}} |
4 |
| -<h4 class="ui top attached header center"> |
5 |
| - {{if .LinkAccountMode}} |
6 |
| - {{ctx.Locale.Tr "auth.oauth_signin_title"}} |
7 |
| - {{else}} |
8 |
| - {{ctx.Locale.Tr "auth.login_userpass"}} |
| 1 | +<div class="ui container fluid"> |
| 2 | + {{if or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn)}} |
| 3 | + {{template "base/alert" .}} |
9 | 4 | {{end}}
|
10 |
| -</h4> |
11 |
| -<div class="ui attached segment"> |
12 |
| - {{template "user/auth/webauthn_error" .}} |
| 5 | + <h4 class="ui top attached header center"> |
| 6 | + {{if .LinkAccountMode}} |
| 7 | + {{ctx.Locale.Tr "auth.oauth_signin_title"}} |
| 8 | + {{else}} |
| 9 | + {{ctx.Locale.Tr "auth.login_userpass"}} |
| 10 | + {{end}} |
| 11 | + </h4> |
| 12 | + <div class="ui attached segment"> |
| 13 | + <form class="ui form" action="{{.SignInLink}}" method="post"> |
| 14 | + {{.CsrfTokenHtml}} |
| 15 | + <div class="required field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}"> |
| 16 | + <label for="user_name">{{ctx.Locale.Tr "home.uname_holder"}}</label> |
| 17 | + <input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required> |
| 18 | + </div> |
| 19 | + {{if or (not .DisablePassword) .LinkAccountMode}} |
| 20 | + <div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}} form-field-content-aside-label"> |
| 21 | + <label for="password">{{ctx.Locale.Tr "password"}}</label> |
| 22 | + <a href="{{AppSubUrl}}/user/forgot_password">{{ctx.Locale.Tr "auth.forgot_password"}}</a> |
| 23 | + <input id="password" name="password" type="password" value="{{.password}}" autocomplete="current-password" required> |
| 24 | + </div> |
| 25 | + {{end}} |
| 26 | + {{if not .LinkAccountMode}} |
| 27 | + <div class="inline field"> |
| 28 | + <div class="ui checkbox"> |
| 29 | + <label>{{ctx.Locale.Tr "auth.remember_me"}}</label> |
| 30 | + <input name="remember" type="checkbox"> |
| 31 | + </div> |
| 32 | + </div> |
| 33 | + {{end}} |
13 | 34 |
|
14 |
| - <form class="ui form tw-max-w-2xl tw-m-auto" action="{{.SignInLink}}" method="post"> |
15 |
| - {{.CsrfTokenHtml}} |
16 |
| - <div class="required field {{if and (.Err_UserName) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}"> |
17 |
| - <label for="user_name">{{ctx.Locale.Tr "home.uname_holder"}}</label> |
18 |
| - <input id="user_name" type="text" name="user_name" value="{{.user_name}}" autofocus required> |
19 |
| - </div> |
20 |
| - {{if or (not .DisablePassword) .LinkAccountMode}} |
21 |
| - <div class="required field {{if and (.Err_Password) (or (not .LinkAccountMode) (and .LinkAccountMode .LinkAccountModeSignIn))}}error{{end}}"> |
22 |
| - <label for="password">{{ctx.Locale.Tr "password"}}</label> |
23 |
| - <input id="password" name="password" type="password" value="{{.password}}" autocomplete="current-password" required> |
24 |
| - </div> |
25 |
| - {{end}} |
26 |
| - {{if not .LinkAccountMode}} |
27 |
| - <div class="inline field"> |
28 |
| - <div class="ui checkbox"> |
29 |
| - <label>{{ctx.Locale.Tr "auth.remember_me"}}</label> |
30 |
| - <input name="remember" type="checkbox"> |
31 |
| - </div> |
32 |
| - </div> |
33 |
| - {{end}} |
| 35 | + {{template "user/auth/captcha" .}} |
34 | 36 |
|
35 |
| - {{template "user/auth/captcha" .}} |
| 37 | + <div class="field"> |
| 38 | + <button class="ui primary button tw-w-full"> |
| 39 | + {{if .LinkAccountMode}} |
| 40 | + {{ctx.Locale.Tr "auth.oauth_signin_submit"}} |
| 41 | + {{else}} |
| 42 | + {{ctx.Locale.Tr "sign_in"}} |
| 43 | + {{end}} |
| 44 | + </button> |
| 45 | + </div> |
| 46 | + </form> |
36 | 47 |
|
37 |
| - <div class="field"> |
38 |
| - <button class="ui primary button"> |
39 |
| - {{if .LinkAccountMode}} |
40 |
| - {{ctx.Locale.Tr "auth.oauth_signin_submit"}} |
41 |
| - {{else}} |
42 |
| - {{ctx.Locale.Tr "sign_in"}} |
43 |
| - {{end}} |
44 |
| - </button> |
45 |
| - <a href="{{AppSubUrl}}/user/forgot_password">{{ctx.Locale.Tr "auth.forgot_password"}}</a> |
| 48 | + {{template "user/auth/oauth_container" .}} |
46 | 49 | </div>
|
| 50 | +</div> |
47 | 51 |
|
48 |
| - {{if .ShowRegistrationButton}} |
49 |
| - <div class="field"> |
50 |
| - <a href="{{AppSubUrl}}/user/sign_up">{{ctx.Locale.Tr "auth.sign_up_now"}}</a> |
51 |
| - </div> |
52 |
| - {{end}} |
| 52 | +<div class="ui container fluid"> |
| 53 | + {{template "user/auth/webauthn_error" .}} |
53 | 54 |
|
54 |
| - <div class="field"> |
| 55 | + <div class="ui attached segment header top tw-max-w-2xl tw-m-auto tw-flex tw-flex-col tw-items-center"> |
55 | 56 | <a class="signin-passkey">{{ctx.Locale.Tr "auth.signin_passkey"}}</a>
|
56 |
| - </div> |
57 | 57 |
|
58 |
| - {{if .OAuth2Providers}} |
59 |
| - <div class="divider divider-text"> |
60 |
| - {{ctx.Locale.Tr "sign_in_or"}} |
61 |
| - </div> |
62 |
| - <div id="oauth2-login-navigator" class="tw-py-1"> |
63 |
| - <div class="tw-flex tw-flex-col tw-justify-center"> |
64 |
| - <div id="oauth2-login-navigator-inner" class="tw-flex tw-flex-col tw-flex-wrap tw-items-center tw-gap-2"> |
65 |
| - {{range $provider := .OAuth2Providers}} |
66 |
| - <a class="{{$provider.Name}} ui button tw-flex tw-items-center tw-justify-center tw-py-2 tw-w-full oauth-login-link" href="{{AppSubUrl}}/user/oauth2/{{$provider.DisplayName}}"> |
67 |
| - {{$provider.IconHTML 28}} |
68 |
| - {{ctx.Locale.Tr "sign_in_with_provider" $provider.DisplayName}} |
69 |
| - </a> |
70 |
| - {{end}} |
| 58 | + {{if .ShowRegistrationButton}} |
| 59 | + <div class="field"> |
| 60 | + <span>{{ctx.Locale.Tr "auth.need_account"}}</span> |
| 61 | + <a href="{{AppSubUrl}}/user/sign_up">{{ctx.Locale.Tr "auth.sign_up_now"}}</a> |
71 | 62 | </div>
|
72 |
| - </div> |
| 63 | + {{end}} |
73 | 64 | </div>
|
74 |
| - {{end}} |
75 |
| - </form> |
76 | 65 | </div>
|
0 commit comments