refactor: enhance login page styling for improved UX (#6757)

#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

#### What this PR does / why we need it:

微调登录相关页面的样式。

#### Does this PR introduce a user-facing change?

```release-note
None
```
pull/6766/head
Ryan Wang 2024-10-04 20:44:43 +08:00 committed by GitHub
parent 38b7898899
commit c941e37435
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 39 additions and 35 deletions

View File

@ -1,6 +1,6 @@
/* Base */ /* Base */
.gateway-page { .gateway-page {
width: 100vw; width: 100%;
height: 100vh; height: 100vh;
background-color: #f5f5f5; background-color: #f5f5f5;
overflow: auto; overflow: auto;
@ -34,8 +34,10 @@
--spacing-xl: 1.25em; --spacing-xl: 1.25em;
--spacing-lg: 1em; --spacing-lg: 1em;
--spacing-md: 0.875em; --spacing-md: 0.875em;
--spacing-sm: 0.5em; --spacing-sm: 0.625em;
--text-md: 0.875em; --spacing-xs: 0.5em;
--text-base: 1em;
--text-sm: 0.875em;
} }
.gateway-wrapper { .gateway-wrapper {
@ -88,7 +90,7 @@
.halo-form .form-item-group { .halo-form .form-item-group {
gap: var(--spacing-lg); gap: var(--spacing-lg);
display: flex; display: flex;
align-items: center; align-items: flex-start;
margin-bottom: 1.3em; margin-bottom: 1.3em;
} }
@ -142,7 +144,7 @@
.halo-form .form-input-stack-select { .halo-form .form-input-stack-select {
all: unset; all: unset;
color: var(--color-text); color: var(--color-text);
font-size: var(--text-md); font-size: var(--text-sm);
padding-right: 1.85em; padding-right: 1.85em;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
@ -153,16 +155,18 @@
.halo-form .form-input-stack-text { .halo-form .form-input-stack-text {
color: var(--color-text); color: var(--color-text);
font-size: var(--text-md); font-size: var(--text-sm);
} }
.halo-form .form-item label { .halo-form .form-item label {
color: var(--color-text); color: var(--color-text);
margin-bottom: 0.5em; margin-bottom: 0.625em;
font-size: var(--text-base);
font-weight: 500;
} }
.halo-form .form-item .form-label-group { .halo-form .form-item .form-label-group {
margin-bottom: 0.5em; margin-bottom: 0.625em;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
align-items: center; align-items: center;
@ -174,7 +178,7 @@
.halo-form .form-item-extra-link { .halo-form .form-item-extra-link {
color: var(--color-link); color: var(--color-link);
font-size: var(--text-md); font-size: var(--text-sm);
text-decoration: none; text-decoration: none;
} }
@ -187,7 +191,7 @@
.halo-form .form-item-compact label { .halo-form .form-item-compact label {
color: var(--color-text); color: var(--color-text);
font-size: var(--text-md); font-size: var(--text-sm);
} }
.halo-form button[type="submit"] { .halo-form button[type="submit"] {
@ -263,7 +267,7 @@
border-radius: var(--rounded-base); border-radius: var(--rounded-base);
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
color: var(--color-text); color: var(--color-text);
font-size: var(--text-md); font-size: var(--text-sm);
grid-column: span 1 / span 1; grid-column: span 1 / span 1;
height: 100%; height: 100%;
cursor: pointer; cursor: pointer;
@ -281,7 +285,7 @@
.auth-provider-items { .auth-provider-items {
all: unset; all: unset;
gap: var(--spacing-md); gap: var(--spacing-sm);
margin: 0; margin: 0;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
@ -300,12 +304,12 @@
.auth-provider-items li a { .auth-provider-items li a {
gap: var(--spacing-sm); gap: var(--spacing-sm);
font-size: var(--text-sm);
padding: 0.7em 1em; padding: 0.7em 1em;
display: flex; display: flex;
align-items: center; align-items: center;
color: #1f2937; color: #1f2937;
text-decoration: none; text-decoration: none;
font-size: 0.8em;
} }
.auth-provider-items li img { .auth-provider-items li img {
@ -328,7 +332,7 @@
.divider-wrapper { .divider-wrapper {
color: var(--color-text); color: var(--color-text);
font-size: var(--text-md); font-size: var(--text-sm);
gap: var(--spacing-lg); gap: var(--spacing-lg);
display: flex; display: flex;
align-items: center; align-items: center;
@ -347,7 +351,7 @@
border-radius: var(--rounded-base); border-radius: var(--rounded-base);
margin-bottom: var(--spacing-xl); margin-bottom: var(--spacing-xl);
padding: var(--spacing-md) var(--spacing-xl); padding: var(--spacing-md) var(--spacing-xl);
font-size: var(--text-md); font-size: var(--text-sm);
overflow: hidden; overflow: hidden;
position: relative; position: relative;
color: var(--color-text); color: var(--color-text);

View File

@ -30,7 +30,7 @@
.language-switcher select { .language-switcher select {
all: unset; all: unset;
border: 1px solid var(--color-border); border: 1px solid var(--color-border);
font-size: var(--text-md); font-size: var(--text-sm);
height: 2em; height: 2em;
border-radius: var(--rounded-lg); border-radius: var(--rounded-lg);
outline: none; outline: none;

View File

@ -28,7 +28,7 @@
<div th:replace="~{__${fragmentTemplateName}__::form}"></div> <div th:replace="~{__${fragmentTemplateName}__::form}"></div>
<div th:if="${authProvider.spec.rememberMeSupport}" class="form-item-compact"> <div th:if="${authProvider.spec.rememberMeSupport}" class="form-item-compact">
<input type="checkbox" id="remember-me" name="remember-me" value="true"/> <input type="checkbox" id="remember-me" name="remember-me" value="true" />
<label for="remember-me" th:text="#{form.rememberMe.label}"></label> <label for="remember-me" th:text="#{form.rememberMe.label}"></label>
</div> </div>
@ -40,14 +40,14 @@
<div th:remove="tag" th:fragment="formAuthProviders"> <div th:remove="tag" th:fragment="formAuthProviders">
<th:block th:unless="${#lists.isEmpty(formAuthProviders)}"> <th:block th:unless="${#lists.isEmpty(formAuthProviders)}">
<div class="divider-wrapper"> <div class="divider-wrapper">
<hr/> <hr />
<th:block th:text="#{otherLogin.label}"></th:block> <th:block th:text="#{otherLogin.label}"></th:block>
<hr/> <hr />
</div> </div>
<ul class="auth-provider-items"> <ul class="auth-provider-items">
<li th:each="provider : ${formAuthProviders}"> <li th:each="provider : ${formAuthProviders}">
<a th:href="'/login?method=' + ${provider.metadata.name}"> <a th:href="'/login?method=' + ${provider.metadata.name}">
<img th:src="${provider.spec.logo}"/> <img th:src="${provider.spec.logo}" />
<span th:text="${provider.spec.displayName}"></span> <span th:text="${provider.spec.displayName}"></span>
</a> </a>
</li> </li>
@ -59,7 +59,7 @@
<style> <style>
.signup-notice, .signup-notice,
.returntosite-notice { .returntosite-notice {
font-size: var(--text-md); font-size: var(--text-sm);
color: var(--color-text); color: var(--color-text);
text-align: center; text-align: center;
margin: 1em 0; margin: 1em 0;