From ce14b981842ee43b7017acadef4f3ba466596228 Mon Sep 17 00:00:00 2001 From: Baoshuo Date: Sun, 24 May 2026 22:52:08 +0800 Subject: [PATCH] core&ui: add login methods to response body (#1165) --- packages/hydrooj/src/handler/home.ts | 1 + packages/hydrooj/src/handler/user.ts | 5 ++++- packages/ui-default/templates/home_security.html | 4 ++-- packages/ui-default/templates/partials/login_dialog.html | 2 +- packages/ui-default/templates/user_login.html | 2 +- 5 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/hydrooj/src/handler/home.ts b/packages/hydrooj/src/handler/home.ts index 0af7b8d97..bda65d655 100644 --- a/packages/hydrooj/src/handler/home.ts +++ b/packages/hydrooj/src/handler/home.ts @@ -204,6 +204,7 @@ class HomeSecurityHandler extends Handler { ])), geoipProvider: this.ctx.get('geoip')?.provider, relations, + loginMethods: this.loginMethods, }; } diff --git a/packages/hydrooj/src/handler/user.ts b/packages/hydrooj/src/handler/user.ts index d2e8565b7..b12531258 100644 --- a/packages/hydrooj/src/handler/user.ts +++ b/packages/hydrooj/src/handler/user.ts @@ -48,7 +48,10 @@ class UserLoginHandler extends Handler { async get() { this.response.template = 'user_login.html'; - this.response.body.loginMethods = this.loginMethods; + this.response.body = { + builtInLogin: system.get('server.login'), + loginMethods: this.loginMethods, + }; } @param('uname', Types.Username) diff --git a/packages/ui-default/templates/home_security.html b/packages/ui-default/templates/home_security.html index 197d7607c..b5d242430 100644 --- a/packages/ui-default/templates/home_security.html +++ b/packages/ui-default/templates/home_security.html @@ -70,7 +70,7 @@
{%- for relation in relations -%}{% if relation.platform != 'mail' %} - {% set platform = handler.loginMethods.find(eval("r => r.id === '" + relation.platform + "'")) %} + {% set platform = loginMethods.find(eval("r => r.id === '" + relation.platform + "'")) %}
  • {% if platform.icon %} @@ -88,7 +88,7 @@
    - {%- for method in handler.loginMethods -%} + {%- for method in loginMethods -%} {%- if not relations.some(eval("r => r.platform === '" + method.id + "'")) -%}
  • diff --git a/packages/ui-default/templates/partials/login_dialog.html b/packages/ui-default/templates/partials/login_dialog.html index b44e5c60f..b2bfc7235 100644 --- a/packages/ui-default/templates/partials/login_dialog.html +++ b/packages/ui-default/templates/partials/login_dialog.html @@ -40,7 +40,7 @@
  • {% endif %} - {%- for v in handler.loginMethods -%} + {%- for v in loginMethods -%} diff --git a/packages/ui-default/templates/user_login.html b/packages/ui-default/templates/user_login.html index d9295af0a..90119af1b 100644 --- a/packages/ui-default/templates/user_login.html +++ b/packages/ui-default/templates/user_login.html @@ -30,7 +30,7 @@ {% endif %} - {%- for v in handler.loginMethods -%} + {%- for v in loginMethods -%}