From d09d20bec3b29489730d66e3ac16d7a40047e42c Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 17 Aug 2026 14:46:17 +0000 Subject: [PATCH 1/3] feat(differentials): show the safety-first banner at the top of search results Promote the emergent-lead safety banner (e.g. delirium's inattention/altered awareness warning) from a desktop-only sidebar card and a mobile-only inline strip into one full-width banner above the results grid, visible on every breakpoint as soon as results render. --- .../clinical-dashboard/differentials-home.tsx | 397 ++++++++---------- 1 file changed, 186 insertions(+), 211 deletions(-) diff --git a/src/components/clinical-dashboard/differentials-home.tsx b/src/components/clinical-dashboard/differentials-home.tsx index b10cd3ffe..c6f97b89f 100644 --- a/src/components/clinical-dashboard/differentials-home.tsx +++ b/src/components/clinical-dashboard/differentials-home.tsx @@ -10,7 +10,6 @@ import { Check, ChevronRight, CircleHelp, - ExternalLink, FlaskConical, GitCompareArrows, HeartPulse, @@ -574,29 +573,6 @@ function BestAnswerCard({ ); } -function SafetyCard({ safety, query }: { safety: string; query: string }) { - return ( -
-
- - - -
-

Safety first

-

{safety}

- - View presentation guide - - -
-
-
- ); -} - function LikelyPresentationCard({ lead }: { lead: DifferentialResult }) { const points = [lead.subtitle, ...lead.tags, lead.safety] .filter((point): point is string => Boolean(point?.trim())) @@ -725,7 +701,6 @@ function SourceStatusCard({ function InterpretationRail({ best, results, - query, sourceCount, evidenceState, loading, @@ -734,22 +709,18 @@ function InterpretationRail({ }: { best: DifferentialResult; results: DifferentialResult[]; - query: string; sourceCount: number; evidenceState: DifferentialEvidenceState; loading: boolean; sourcesChecked: boolean; onRunSourceSearch: () => void; }) { - const safetyLead = results.find((result) => result.status === "emergent") ?? best; - return (