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.label}
-
- ); -} - -/** 左栏:品牌 + 一句定位 + 三条能力 + CSS 素材墙(与方案 B 原型一致,不引图片) */ +/** 左栏:品牌 + 一句定位 + 三条能力(不引入图片资源) */ export function LoginBrandPanel(): ReactNode { return (