From c98030f27c2a1916680e58f858a3558ba68084f0 Mon Sep 17 00:00:00 2001 From: pqhuy1987 Date: Tue, 16 Jun 2026 10:12:40 +0700 Subject: [PATCH] =?UTF-8?q?[CLAUDE]=20FE-User:=20redesign=20foundation=20"?= =?UTF-8?q?n=C3=A2ng=20m=C3=A0u=20gi=E1=BB=AF=20brand"=20=E2=80=94=20gradi?= =?UTF-8?q?ent/accent/badge=20b=E1=BA=AFt=20m=E1=BA=AFt=20h=C6=A1n?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Anh: giao diện đơn điệu, muốn đẹp + bắt mắt, font/màu đẹp hơn. Hướng anh chốt "nâng màu, giữ nền xanh brand" (eoffice trước). Foundation lan tỏa toàn app, KHÔNG đụng 65 trang lẻ. - index.css: +accent palette teal/amberx/violet/greenx (đặt tên né trùng Tailwind) + utilities .app-gradient-brand / .card-accent / .icon-chip / .stat-value; heading 600->700 đậm hơn; .label-eyebrow brand-600. Brand #1F7DC1 + Be Vietnam Pro GIỮ. - primitives: Button primary/danger gradient nổi bật; Input/Select/Textarea focus-glow mạnh hơn; Label brand-600; Dialog title-bar gradient. variant/size keys STABLE. - shell: Layout stripe dày hơn + logo cap; PageHeader title lớn/đậm + accent bar cao; TopBar gradient hairline; DataTable thead gradient brand chữ trắng. - Dashboard: KPI cards accent + icon chips. - color maps (contract/PE phase + PE display status): -700->-800 đậm chữ, phase nháp tint brand. Visual-only — props/handler/signature nguyên. Build PASS (tsc -b 0 error). a11y: contrast AA + prefers-reduced-motion. fe-admin mirror đợt sau. Co-Authored-By: Claude Opus 4.8 (1M context) --- fe-user/src/components/DataTable.tsx | 15 ++-- fe-user/src/components/Layout.tsx | 11 +-- fe-user/src/components/PageHeader.tsx | 14 +-- fe-user/src/components/TopBar.tsx | 7 +- fe-user/src/components/ui/Button.tsx | 23 ++--- fe-user/src/components/ui/Dialog.tsx | 7 +- fe-user/src/components/ui/Input.tsx | 5 +- fe-user/src/components/ui/Label.tsx | 8 +- fe-user/src/components/ui/Select.tsx | 4 +- fe-user/src/components/ui/Textarea.tsx | 4 +- fe-user/src/index.css | 113 +++++++++++++++++++++--- fe-user/src/pages/UserDashboardPage.tsx | 58 ++++++++---- fe-user/src/types/contracts.ts | 26 +++--- fe-user/src/types/purchaseEvaluation.ts | 31 ++++--- 14 files changed, 230 insertions(+), 96 deletions(-) diff --git a/fe-user/src/components/DataTable.tsx b/fe-user/src/components/DataTable.tsx index d7127eb..4e24fc8 100644 --- a/fe-user/src/components/DataTable.tsx +++ b/fe-user/src/components/DataTable.tsx @@ -79,18 +79,19 @@ export function DataTable({ onRowClick, }: Props) { return ( - // Density-first: rounded-lg + crisp border (no decorative shadow). + // rounded-lg + crisp border (no decorative shadow).
- {/* thead tint brand — đậm nhận diện hơn slate (anh yêu cầu "trang trí - lên 1 tý" 06-11); brand-700 semibold uppercase 11px đạt AA trên nền nhạt. */} - - + {/* 2026-06-16 anh "thead nền màu brand đậm hơn": solid brand gradient + + white uppercase — đậm nhận diện rõ rệt (was pale brand-50/60). White + on brand-600→700 = >7:1 contrast. */} + + {columns.map(c => (
({ {c.sortable && onSortChange ? ( diff --git a/fe-user/src/components/ui/Input.tsx b/fe-user/src/components/ui/Input.tsx index 5cd2fa3..b07a10f 100644 --- a/fe-user/src/components/ui/Input.tsx +++ b/fe-user/src/components/ui/Input.tsx @@ -7,10 +7,11 @@ export const Input = forwardRef(({ className, ...props ) { return (