[CLAUDE] FE-Admin FE-User: Chunk Q — Fix layout banner F3 violet mx-5 inset gap khiến button "+ Thêm hạng mục" lệch
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 3m15s
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 3m15s
Bro UAT screenshot 2026-05-15 sau Plan O+P deploy: PE/2026/A/025 Phase=ChoDuyet actor NV Test có F3 AllowApproverEditDetails=TRUE — banner violet "Bạn được phép chỉnh sửa Hạng mục / NCC / Báo giá" render ĐÚNG nhưng layout: ``` [Section padding px-5 = 20px] [Banner mx-5 inset 20px both sides] ← gap 20px right edge [ItemsTab header flex justify-between] [text "1 hạng mục..."] [Button "+ Thêm hạng mục"] ``` Banner mx-5 đẩy inset 20px khỏi Section padding x-5 → tạo gap visual 20px bên phải banner. Phía dưới gap đó là button right-aligned (full Section width) → trông button "lệch" so với banner end + có khoảng trắng phía trên. Fix mirror 2 app (rule §3.9): ```diff - <div className="mx-5 mt-2 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800"> + <div className="mb-3 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800"> ``` - `mx-5` → drop (banner full Section padding width) - `mt-2` → `mb-3` (consistent spacing với ItemsTab header `mb-3` style) Visual sau fix: ``` [Section padding px-5] [Banner full width] [ItemsTab header: text + button align Section right edge] ``` Button "+ Thêm hạng mục" align cùng phải edge với banner. KHÔNG còn gap visual. Files (2 mirror): - fe-user/src/components/pe/PeDetailTabs.tsx:218-223 - fe-admin/src/components/pe/PeDetailTabs.tsx:213-218 Verify: - npm run build fe-user PASS clean (0 TS err, 7.67s) - npm run build fe-admin PASS clean (0 TS err, 7.50s) KHÔNG đụng BE. KHÔNG đụng logic. CSS layout polish only. Pending: bro UAT verify layout fix + Plan P CICD Monitor verify F1+F2 wire (spawn earlier, vẫn running). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -210,8 +210,11 @@ export function PeDetailTabs({
|
||||
</Section>
|
||||
<Section title={`2. Hạng mục + Báo giá NCC (${evaluation.details.length} hạng mục · ${evaluation.suppliers.length} NCC)`}>
|
||||
{/* Mig 28 (S21 t4) — F3: itemsReadOnly cho phép approver edit Section 2 */}
|
||||
{/* Plan Q S23 t7 — Drop mx-5 banner, full-width Section padding to
|
||||
align với ItemsTab header (button "+ Thêm hạng mục" right-aligned
|
||||
KHÔNG còn lệch khỏi banner inset gap). */}
|
||||
{approverEditMode && readOnly && (
|
||||
<div className="mx-5 mt-2 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800">
|
||||
<div className="mb-3 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800">
|
||||
ⓘ Bạn được phép chỉnh sửa Hạng mục / NCC / Báo giá (workflow bật mode Approver edit).
|
||||
Mọi thay đổi sẽ được ghi vào Lịch sử chỉnh sửa.
|
||||
</div>
|
||||
|
||||
@ -215,8 +215,11 @@ export function PeDetailTabs({
|
||||
<Section title={`2. Hạng mục + Báo giá NCC (${evaluation.details.length} hạng mục · ${evaluation.suppliers.length} NCC)`}>
|
||||
{/* Mig 28 (S21 t4) — F3: itemsReadOnly cho phép approver edit Section 2.
|
||||
Banner cảnh báo "Bạn đang chỉnh sửa khi đang duyệt" khi approverEditMode. */}
|
||||
{/* Plan Q S23 t7 — Drop mx-5 banner, full-width Section padding to
|
||||
align với ItemsTab header (button "+ Thêm hạng mục" right-aligned
|
||||
KHÔNG còn lệch khỏi banner inset gap). */}
|
||||
{approverEditMode && readOnly && (
|
||||
<div className="mx-5 mt-2 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800">
|
||||
<div className="mb-3 rounded border border-violet-200 bg-violet-50 px-3 py-2 text-[11px] text-violet-800">
|
||||
ⓘ Bạn được phép chỉnh sửa Hạng mục / NCC / Báo giá (workflow bật mode Approver edit).
|
||||
Mọi thay đổi sẽ được ghi vào Lịch sử chỉnh sửa.
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user