- {TOOLS.map(({ key, label, text, Icon }, i) => {
- const corner = i === 0 ? "rounded-l-lg" : i === TOOLS.length - 1 ? "rounded-r-lg" : "";
+ {visibleTools.map(({ key, label, text, Icon }, i) => {
+ const corner = i === 0 ? "rounded-l-lg" : i === visibleTools.length - 1 ? "rounded-r-lg" : "";
const activeCls = `${
tool === key ? "bg-primary text-white" : "text-slate-500 hover:bg-slate-100"
} ${FOCUS_RING_CLS}`;
@@ -3806,12 +3834,10 @@ export default function PDFViewer({
setGrabbing(false);
}}
>
- {/* M6: hint ไฟล์สแกน — ทุกหน้าที่ render แล้วไม่มี span เลย (virtualization เห็นเฉพาะ
- หน้าใกล้ viewport — ไฟล์ผสมหน้าสแกน/หน้า text จึงพูดแบบระดับ "หน้าที่เปิดดู" เท่านั้น)
- โชว์เฉพาะตอน tool highlight เพื่อไม่รบกวน tool อื่น — คดีศาลมี PDF สแกนเยอะ */}
- {tool === "highlight" &&
- Object.keys(pageSpanCount).length > 0 &&
- Object.values(pageSpanCount).every((n) => n === 0) && (
+ {/* M6: hint ไฟล์สแกน — เดิมโชว์ตอน tool highlight บนหน้าที่ไม่มีข้อความ ตอนนี้
+ ไฟล์สแกนล้วน (scannedOnly) ซ่อนปุ่ม+reset tool ไปแล้ว แถบจึงเหลือเป็น
+ defensive ช่วง transition สั้น ๆ เท่านั้น (คดีศาลมี PDF สแกนเยอะ) */}
+ {tool === "highlight" && scannedOnly && (
หน้าที่เปิดดูเป็นภาพสแกน ไม่มีข้อความให้คลุมไฮไลต์ — ใช้การวาดเส้นหรือกล่องข้อความแทนได้