From e42673bbd1892fa32c1af8f9950a2a67f874c282 Mon Sep 17 00:00:00 2001 From: BigSimmo <87357024+BigSimmo@users.noreply.github.com> Date: Fri, 21 Aug 2026 02:24:09 +0800 Subject: [PATCH 1/2] fix(ui): improve search, image, and table semantics --- src/app/globals.css | 6 +++++ .../master-search-header.tsx | 1 + .../non-pdf-source-preview.tsx | 7 ++++-- .../factsheets/factsheet-detail-page.tsx | 14 +++++++++-- .../ward-management/ward-management-modes.tsx | 24 +++++++++---------- ...cument-viewer-non-pdf-preview.dom.test.tsx | 5 ++++ tests/factsheet-detail-header.dom.test.tsx | 10 ++++++++ tests/mode-menu-prefetch.dom.test.tsx | 5 ++++ tests/ward-management.test.ts | 7 ++++++ 9 files changed, 63 insertions(+), 16 deletions(-) diff --git a/src/app/globals.css b/src/app/globals.css index 0dd4d243f4..12f7efaff9 100644 --- a/src/app/globals.css +++ b/src/app/globals.css @@ -1927,6 +1927,7 @@ summary::-webkit-details-marker { } .answer-footer-search-input { + appearance: none; padding-inline: 0.35rem; font-size: 16px; font-weight: 560; @@ -1934,6 +1935,11 @@ summary::-webkit-details-marker { letter-spacing: 0; } +.answer-footer-search-input::-webkit-search-cancel-button, +.answer-footer-search-input::-webkit-search-decoration { + appearance: none; +} + /* The universal composer form is the visible control and already owns its focus-within border + halo. Suppress the nested text field's global focus paint so the pill never renders competing or clipped concentric rings. */ diff --git a/src/components/clinical-dashboard/master-search-header.tsx b/src/components/clinical-dashboard/master-search-header.tsx index 32cac92f3f..85e7811c75 100644 --- a/src/components/clinical-dashboard/master-search-header.tsx +++ b/src/components/clinical-dashboard/master-search-header.tsx @@ -2036,6 +2036,7 @@ export function MasterSearchHeader({ pr-* utility, which let text run under an overlaid button. */}
-
+
{/* Eager, not lazy: for an image-source document this *is* the document, and it sits above the fold. Lazy-loading it puts the largest element on the page behind the browser's own lazy threshold and delays LCP @@ -168,7 +171,7 @@ function InlineImagePreview({ decoding="async" fetchPriority="high" onError={() => setFailed(true)} - className="mx-auto max-h-[min(70vh,36rem)] w-full object-contain" + className="h-full w-full object-contain" />