From aef8a059f24e37673fbc81b3627f3e5bdd9b2aa9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=80=BB=E5=B7=A5?= Date: Sat, 29 Aug 2026 20:04:22 +0800 Subject: [PATCH] =?UTF-8?q?fix(HEL-240):=20=E5=8E=BB=E6=8E=89=E7=99=BB?= =?UTF-8?q?=E5=BD=95=E9=A1=B5=E5=BA=95=E9=83=A8=E7=8A=B6=E6=80=81=E6=A0=8F?= =?UTF-8?q?=E7=BC=BA=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 登录页覆盖全局 body 底边距,让左栏品牌面板铺满视口高度。 Co-authored-by: Cursor Co-authored-by: multica-agent --- config/architecture-inventory.json | 4 ++-- frontend/index.html | 2 +- frontend/login/index.html | 2 +- frontend/shared/auth.css | 4 ++++ tests/e2e/login-portal.spec.js | 1 + tests/test_login_portal.py | 3 +++ 6 files changed, 12 insertions(+), 4 deletions(-) diff --git a/config/architecture-inventory.json b/config/architecture-inventory.json index 683c806..a15d82c 100644 --- a/config/architecture-inventory.json +++ b/config/architecture-inventory.json @@ -377,7 +377,7 @@ "/shared/tokens.css?v=20260829-hel240", "/shared/base.css?v=20260806-1", "/shared/shell.css?v=20260829-hel237", - "/shared/auth.css?v=20260829-hel240", + "/shared/auth.css?v=20260829-hel240b", "/shared/components/controls.css?v=20260829-hel237", "/shared/components/navigation.css?v=20260820-1", "/shared/components/cards.css?v=20260820-1", @@ -465,7 +465,7 @@ }, { "path": "frontend/index.html", - "bytes": 48253, + "bytes": 48254, "lines": 664 }, { diff --git a/frontend/index.html b/frontend/index.html index d42f10e..f9fcef3 100644 --- a/frontend/index.html +++ b/frontend/index.html @@ -37,7 +37,7 @@ - + diff --git a/frontend/login/index.html b/frontend/login/index.html index 3655bb3..c3d1333 100644 --- a/frontend/login/index.html +++ b/frontend/login/index.html @@ -21,7 +21,7 @@ - + diff --git a/frontend/shared/auth.css b/frontend/shared/auth.css index 88321da..a983552 100644 --- a/frontend/shared/auth.css +++ b/frontend/shared/auth.css @@ -1695,6 +1695,10 @@ button.account-role-badge:focus-visible { } +body.login-portal { + padding-bottom: 0; +} + .login-portal { min-height: 100vh; diff --git a/tests/e2e/login-portal.spec.js b/tests/e2e/login-portal.spec.js index 3f98967..95c61f8 100644 --- a/tests/e2e/login-portal.spec.js +++ b/tests/e2e/login-portal.spec.js @@ -190,6 +190,7 @@ async function assertConfirmedSkeleton(page, { width, height }) { if (width === 1440) { expect(brand.width).toBeGreaterThan(470); expect(brand.width).toBeLessThan(520); + expect(brand.height).toBe(height); } else if (width === 1920) { expect(brand.width).toBeGreaterThan(540); expect(brand.width).toBeLessThan(580); diff --git a/tests/test_login_portal.py b/tests/test_login_portal.py index 06cd595..c77af1f 100644 --- a/tests/test_login_portal.py +++ b/tests/test_login_portal.py @@ -40,6 +40,9 @@ class LoginPortalContractTests(unittest.TestCase): self.assertIn("width: var(--login-brand-share);", AUTH) self.assertIn("width: var(--login-card-width);", AUTH) self.assertIn("justify-content: flex-end;", AUTH) + self.assertIn("body.login-portal {", AUTH) + self.assertIn("padding-bottom: 0;", AUTH) + self.assertNotIn("padding: 0 0 var(--statusbar-height);", AUTH) def test_portal_keeps_account_switch_and_theme_hooks(self) -> None: self.assertIn("data-switch-id", LOGIN_JS)