From 340a8ed176753c25176012e341dd47cc7a096e0d Mon Sep 17 00:00:00 2001
From: Stev_Wang <304865932@qq.com>
Date: Tue, 3 Nov 2026 07:46:47 +0800
Subject: [PATCH] =?UTF-8?q?style(login):=20=E7=B2=BE=E7=AE=80=E7=99=BB?=
=?UTF-8?q?=E5=BD=95=E9=A1=B5=E5=AE=A3=E4=BC=A0=E5=8C=BA=E5=B9=B6=E6=94=BE?=
=?UTF-8?q?=E5=A4=A7=E8=BE=93=E5=85=A5=E6=A1=86=E5=9B=BE=E6=A0=87=E9=97=B4?=
=?UTF-8?q?=E8=B7=9D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
背景:
- 登录页左栏四张比例缩略图在真实页面中观感偏廉价;
- 输入框前缀图标与占位文字间距仅 8px,视觉上偏挤。
改动:
- 左栏移除 9:16 / 1:1 / 16:9 / 4:3 素材缩略及相关数据与样式,保留品牌、定位与三条能力;
- 登录卡片输入框前缀图标改为左 10px / 右 14px,后缀图标左 12px / 右 8px,图标与提示文字拉开距离;
- 清理 login-content 与 pages.css 中不再使用的素材墙代码。
影响面:
- 仅登录页视觉,不影响登录逻辑、接口与权限。
回滚方式:
- 回滚本提交即恢复原素材墙与输入框间距。
验证证据:
- pnpm --filter @lingxi/web lint / typecheck / test 通过(15 files / 55 tests);
- pnpm --filter @lingxi/web build 通过;
- 1440×900 与 1280×900 截图核对,无溢出、图标与文字间距正常。
---
apps/web/src/pages/login/LoginBrandPanel.tsx | 29 +-------
apps/web/src/pages/login/login-content.ts | 15 ----
apps/web/src/styles/pages.css | 78 +++++---------------
3 files changed, 19 insertions(+), 103 deletions(-)
diff --git a/apps/web/src/pages/login/LoginBrandPanel.tsx b/apps/web/src/pages/login/LoginBrandPanel.tsx
index 1d819a3..174d1e7 100644
--- a/apps/web/src/pages/login/LoginBrandPanel.tsx
+++ b/apps/web/src/pages/login/LoginBrandPanel.tsx
@@ -1,11 +1,6 @@
import type { ReactNode } from 'react';
-import {
- LOGIN_CAPABILITIES,
- LOGIN_MATERIAL_SAMPLES,
- type LoginCapability,
- type LoginMaterialSample,
-} from './login-content';
+import { LOGIN_CAPABILITIES, type LoginCapability } from './login-content';
function LoginBrand(): ReactNode {
return (
@@ -34,21 +29,7 @@ function CapabilityItem({ capability }: { capability: LoginCapability }): ReactN
);
}
-function MaterialSample({ sample }: { sample: LoginMaterialSample }): ReactNode {
- return (
-
-
- {sample.ratio}
-
- {sample.label}
-
- );
-}
-
-/** 左栏:品牌 + 一句定位 + 三条能力 + CSS 素材墙(与方案 B 原型一致,不引图片) */
+/** 左栏:品牌 + 一句定位 + 三条能力(不引入图片资源) */
export function LoginBrandPanel(): ReactNode {
return (