feat: add login link to signup page (#6780)

#### What type of PR is this?

/area core
/kind improvement
/milestone 2.20.x

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

在注册表单底部添加登录入口。

<img width="693" alt="image" src="https://github.com/user-attachments/assets/dafc48bb-c16e-4d9b-95f7-b44e2f14ed6f">

#### Which issue(s) this PR fixes:

Fixes https://github.com/halo-dev/halo/issues/6770

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

```release-note
None
```
pull/6800/head
Ryan Wang 2024-10-08 22:54:56 +08:00 committed by GitHub
parent 786cb1b260
commit edb3f1c617
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
12 changed files with 104 additions and 61 deletions

View File

@ -119,3 +119,73 @@
</ul>
</th:block>
</div>
<div th:remove="tag" th:fragment="signupNoticeContent">
<style>
.signup-notice-content {
font-size: var(--text-sm);
color: var(--color-text);
text-align: center;
margin: 1em 0;
}
.signup-notice-content a {
color: var(--color-link);
text-decoration: none;
}
</style>
<div th:if="${globalInfo.allowRegistration}" class="signup-notice-content">
<div>
<th:block th:text="#{signupNotice.description}"></th:block>
<a th:href="@{/signup}" th:text="#{signupNotice.link}"></a>
</div>
</div>
</div>
<div th:remove="tag" th:fragment="loginNoticeContent">
<style>
.login-notice-content {
font-size: var(--text-sm);
color: var(--color-text);
text-align: center;
margin: 1em 0;
}
.login-notice-content a {
color: var(--color-link);
text-decoration: none;
}
</style>
<div th:if="${globalInfo.allowRegistration}" class="login-notice-content">
<div>
<th:block th:text="#{loginNotice.description}"></th:block>
<a th:href="@{/login}" th:text="#{loginNotice.link}"></a>
</div>
</div>
</div>
<div th:remove="tag" th:fragment="returnToSiteContent">
<style>
.returntosite-content {
font-size: var(--text-sm);
text-align: center;
margin: 1em 0;
}
.returntosite-content a {
color: var(--color-text);
display: inline-flex;
align-items: center;
gap: 0.3em;
text-decoration: none;
}
</style>
<div class="returntosite-content">
<a th:href="@{/}">
<svg viewBox="0 0 24 24" width="1.2em" height="1.2em">
<path fill="currentColor" d="M21 11H6.83l3.58-3.59L9 6l-6 6l6 6l1.41-1.42L6.83 13H21z"></path>
</svg>
<span th:text="#{returnToSite}"></span>
</a>
</div>
</div>

View File

@ -1,3 +1,9 @@
socialLogin.label=社交登录
js.sendVerificationCode.success=发送成功
js.sendVerificationCode.failed=发送失败,请稍后再试
signupNotice.description=没有账号?
signupNotice.link=立即注册
loginNotice.description=已有账号,
loginNotice.link=立即登录
returnToSite=返回网站

View File

@ -1,3 +1,9 @@
socialLogin.label=Social Login
js.sendVerificationCode.success=Sent Successfully
js.sendVerificationCode.failed=Sending Failed, Please Try Again Later
signupNotice.description=Don't have an account?
signupNotice.link=Sign up
loginNotice.description=Already have an account,
loginNotice.link=Login now
returnToSite=Return to site

View File

@ -1,3 +1,9 @@
socialLogin.label=Inicio de Sesión Social
js.sendVerificationCode.success=Enviado con éxito
js.sendVerificationCode.failed=Error al enviar, por favor intente nuevamente más tarde
signupNotice.description=¿No tienes una cuenta?
signupNotice.link=Regístrate ahora
loginNotice.description=Ya tienes una cuenta,
loginNotice.link=Inicia sesión ahora
returnToSite=Volver al sitio

View File

@ -1,3 +1,9 @@
socialLogin.label=社交登入
js.sendVerificationCode.success=發送成功
js.sendVerificationCode.failed=發送失敗,請稍後再試
signupNotice.description=沒有帳號?
signupNotice.link=立即註冊
loginNotice.description=已有帳號,
loginNotice.link=立即登入
returnToSite=返回網站

View File

@ -18,45 +18,3 @@
</ul>
</th:block>
</div>
<div th:remove="tag" th:fragment="miscellaneous">
<style>
.signup-notice,
.returntosite-notice {
font-size: var(--text-sm);
color: var(--color-text);
text-align: center;
margin: 1em 0;
}
.signup-notice a {
color: var(--color-link);
}
.returntosite-notice a {
color: var(--color-text);
display: inline-flex;
align-items: center;
gap: 0.3em;
}
.returntosite-notice a,
.signup-notice a {
text-decoration: none;
}
</style>
<div th:if="${globalInfo.allowRegistration}" class="signup-notice">
<div>
<th:block th:text="#{signup.description}"></th:block>
<a th:href="@{/signup}" th:text="#{signup.link}"></a>
</div>
</div>
<div class="returntosite-notice">
<a th:href="@{/}">
<svg viewBox="0 0 24 24" width="1.2em" height="1.2em">
<path fill="currentColor" d="M21 11H6.83l3.58-3.59L9 6l-6 6l6 6l1.41-1.42L6.83 13H21z"></path>
</svg>
<span th:text="#{returnToSite}"></span>
</a>
</div>
</div>

View File

@ -1,7 +1,4 @@
otherLogin.label=其他登录方式
signup.description=没有账号?
signup.link=立即注册
returnToSite=返回网站
# Rule: `formAuthProviders.${provider.metadata.name}.displayName`
formAuthProviders.local.displayName=账号密码登录

View File

@ -1,7 +1,4 @@
otherLogin.label=Other Login
signup.description=Don't have an account?
signup.link=Sign up
returnToSite=Return to site
# Rule: `formAuthProviders.${provider.metadata.name}.displayName`
formAuthProviders.local.displayName=Login with credentials

View File

@ -1,7 +1,4 @@
otherLogin.label=Otras formas de inicio de sesión
signup.description=¿No tienes una cuenta?
signup.link=Regístrate ahora
returnToSite=Volver al sitio
# Rule: `formAuthProviders.${provider.metadata.name}.displayName`
formAuthProviders.local.displayName=Iniciar sesión con credenciales

View File

@ -1,7 +1,4 @@
otherLogin.label=其他登入方式
signup.description=沒有帳號?
signup.link=立即註冊
returnToSite=返回網站
# Rule: `formAuthProviders.${provider.metadata.name}.displayName`
formAuthProviders.local.displayName=帳號密碼登入

View File

@ -13,7 +13,8 @@
<div th:replace="~{gateway_modules/common_fragments::socialAuthProviders}"></div>
</div>
<div th:replace="~{gateway_modules/login_fragments::miscellaneous}"></div>
<div th:replace="~{gateway_modules/common_fragments::signupNoticeContent}"></div>
<div th:replace="~{gateway_modules/common_fragments::returnToSiteContent}"></div>
<div th:replace="~{gateway_modules/common_fragments::languageSwitcher}"></div>
</div>
</th:block>

View File

@ -18,6 +18,8 @@
<form th:replace="~{gateway_modules/form_fragments::signup}"></form>
<div th:replace="~{gateway_modules/common_fragments::socialAuthProviders}"></div>
</div>
<div th:replace="~{gateway_modules/common_fragments::loginNoticeContent}"></div>
<div th:replace="~{gateway_modules/common_fragments::returnToSiteContent}"></div>
<div th:replace="~{gateway_modules/common_fragments::languageSwitcher}"></div>
</div>
</th:block>