From 7e807c1c7346ae998557911421500dce70fe3cd0 Mon Sep 17 00:00:00 2001 From: BigSimmo <87357024+BigSimmo@users.noreply.github.com> Date: Mon, 13 Jul 2026 01:12:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor(icons):=20resolve=20open=20glyph=20rev?= =?UTF-8?q?iews=20=E2=80=94=20services=20+=20medication=20safety?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Follow-up to #519, applying the icon-gallery review items: - Services mode: ShieldCheck → Route. The mode is "service records + referral pathways"; ShieldCheck read as safety/trust. Changed at the single source (app-mode-icons.ts, so nav/search/favourites follow) plus the matching documentFacetIcons "Service" entry. - Medication record sections differentiated (risk/contra/safe all shared ShieldCheck): risk → TriangleAlert, contra → Ban, safe → ShieldCheck. Aligned with the app's semantic-tone safety icons (warning/danger); "contra" already carries a danger tone (medications.ts), which Ban matches. - Differentials kept as BrainCircuit: evaluated GitCompare (reads as a dev/git glyph in a clinical app) and Stethoscope (already used for "Clinical role" in settings) — neither beats BrainCircuit for distinctiveness + clinical legibility. Verified: prettier, lint --max-warnings 0, typecheck, check:icon-scale, brand:check green; no snapshot tests reference these maps (CI runs the full vitest + build gate). Co-Authored-By: Claude Opus 4.8 --- .../clinical-dashboard/document-search-results.tsx | 3 ++- src/components/clinical-dashboard/medication-record-page.tsx | 5 +++-- src/lib/app-mode-icons.ts | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/components/clinical-dashboard/document-search-results.tsx b/src/components/clinical-dashboard/document-search-results.tsx index 7ca9a2f80..cd97ee6ab 100644 --- a/src/components/clinical-dashboard/document-search-results.tsx +++ b/src/components/clinical-dashboard/document-search-results.tsx @@ -13,6 +13,7 @@ import { ListChecks, Loader2, Pill, + Route, Shield, ShieldAlert, ShieldCheck, @@ -123,7 +124,7 @@ const documentFacetIcons: Record = { Topic: Tag, Population: Users, Setting: FileText, - Service: ShieldCheck, + Service: Route, "Document type": FileText, "Clinical action": ListChecks, "Care phase": Clock3, diff --git a/src/components/clinical-dashboard/medication-record-page.tsx b/src/components/clinical-dashboard/medication-record-page.tsx index 5fc82f19f..f67297beb 100644 --- a/src/components/clinical-dashboard/medication-record-page.tsx +++ b/src/components/clinical-dashboard/medication-record-page.tsx @@ -2,6 +2,7 @@ import { Activity, + Ban, TriangleAlert, ArrowLeft, BadgeCheck, @@ -32,8 +33,8 @@ import { cn, pageContainer } from "@/components/ui-primitives"; const sectionIcons: Record = { dose: CalendarDays, - risk: ShieldCheck, - contra: ShieldCheck, + risk: TriangleAlert, + contra: Ban, safe: ShieldCheck, mon: Activity, inter: FlaskConical, diff --git a/src/lib/app-mode-icons.ts b/src/lib/app-mode-icons.ts index 72c6af298..374ef54f5 100644 --- a/src/lib/app-mode-icons.ts +++ b/src/lib/app-mode-icons.ts @@ -4,7 +4,7 @@ import { FileText, Heart, Pill, - ShieldCheck, + Route, Sparkles, Wrench, type LucideIcon, @@ -16,7 +16,7 @@ import type { AppModeId } from "@/lib/app-modes"; export const appModeIcons: Record = { answer: Sparkles, documents: FileText, - services: ShieldCheck, + services: Route, forms: FileSignature, favourites: Heart, differentials: BrainCircuit,