From d812f72dc70952c64b1c0b46207e59762d18a140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tr=E1=BA=A7n=20=C4=90=C3=ACnh=20Nam?= Date: Mon, 10 Aug 2026 10:17:48 +0700 Subject: [PATCH] Fix cuon lech khi vua vao che do sua nhieu trang: slot active giu min-height MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Slot trang active cao theo anh that (CSS :has -> height auto), nhung luc vua vao che do sua anh CHUA load nen slot cao ~0 -> scrollIntoView ban dau lech ca cot va listener cuon (debounce 200ms) tu chuyen nham trang active (vao trang 2 nhay sang trang 3). sizeEditSlot dat them min-height = chieu cao uoc tinh nen slot khong bao gio sap ve 0. Kem ket qua kiem chung build 31 tren app that (docs/12): dong lan style sau commit tang dan tuyet doi (worst overlap 0pt) - fix mep muc dat; mảnh "Path=/" con de la artifact NHIEM SAN trong file test cua user tu lan luu bang build loi cu (reflow bao ton nhu marker) - khong phai bug moi. Co-Authored-By: Claude Fable 5 --- app/src/main.js | 7 ++++++- docs/12-phase4-summary.md | 10 ++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main.js b/app/src/main.js index c32737e..4e854bc 100644 --- a/app/src/main.js +++ b/app/src/main.js @@ -463,8 +463,13 @@ function editRoStamp() { function sizeEditSlot(slot, p) { const w = editStageWidth(p); + const h = Math.round((w * p.heightPt) / p.widthPt); slot.style.width = w + "px"; - slot.style.height = Math.round((w * p.heightPt) / p.widthPt) + "px"; + slot.style.height = h + "px"; + // Slot active cao theo ảnh thật (CSS :has cho height auto) — nhưng lúc ảnh + // CHƯA load mà để cao 0 thì cuộn ban đầu lệch cả cột và listener cuộn tự + // chuyển nhầm trang active → luôn giữ tối thiểu chiều cao ước tính. + slot.style.minHeight = h + "px"; } function buildEditColumn() { diff --git a/docs/12-phase4-summary.md b/docs/12-phase4-summary.md index e5dd9c7..b1fb4ab 100644 --- a/docs/12-phase4-summary.md +++ b/docs/12-phase4-summary.md @@ -522,3 +522,13 @@ Tiêm bản vá vào build 29 đang chạy (không cần rebuild) rồi đo: Fix đè chữ (mục 1) là code Rust — kiểm chứng lại trên build CI mới bằng đúng kịch bản đã tái hiện bug (sửa span thường của dòng lẫn style rồi so bounds các mảnh sau commit). + +**Bổ sung sau kiểm chứng build 31 (E2E trên build thật):** +- Fix thêm: slot trang active phải giữ `min-height` ước tính — lúc vừa vào + chế độ sửa ảnh chưa load, CSS `:has` cho height auto làm slot cao ≈ 0 → + cuộn ban đầu lệch cả cột, listener cuộn tự chuyển nhầm trang active. +- Kiểm đè chữ trên build thật: dòng lẫn style sau commit tăng dần tuyệt đối + (worst overlap 0pt) — fix mép mực OK. Lưu ý: file test của user + (Ban_dich_tieng_Viet_...) đã NHIỄM sẵn mảnh "Path=/" lạc chỗ từ lần lưu + bằng build lỗi cũ — mảnh đó được reflow bảo tồn như marker, KHÔNG phải bug + mới; đo kiểm phải loại các mảnh giữ-nguyên-vị-trí.