Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
43300cc
feat: add responsive tools results mockup
BigSimmo Aug 12, 2026
87e6e22
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
1e95c90
fix: align tools filters with shared controls
BigSimmo Aug 12, 2026
12478eb
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
0c1dae7
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
71fd1b3
test: cover tools results review regressions
BigSimmo Aug 12, 2026
56d43f1
Merge main and resolve tools results review findings
BigSimmo Aug 12, 2026
987918e
style: restore formatted file ending
BigSimmo Aug 12, 2026
bcb39e5
Merge be5c7f5a082ea4b865ff07ef7dd77330f3f86a1a into 987918e609ffe571f…
BigSimmo Aug 12, 2026
b38564c
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
4709460
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
2ed4111
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
d548f6b
style: refine tools results mockup
BigSimmo Aug 12, 2026
bcd0c3e
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
3f90504
docs: record tools mockup design review
BigSimmo Aug 12, 2026
a2df696
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
3c039f8
Merge remote-tracking branch 'refs/remotes/origin/codex/tools-results…
BigSimmo Aug 12, 2026
11acb59
fix: make tools detail focus semantics accessible
BigSimmo Aug 12, 2026
fd43d36
test: cover tools detail focus semantics
BigSimmo Aug 12, 2026
7a5d62c
Merge remote-tracking branch 'refs/remotes/origin/codex/tools-results…
BigSimmo Aug 12, 2026
805b817
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
434e82d
Merge remote-tracking branch 'refs/remotes/origin/codex/tools-results…
BigSimmo Aug 12, 2026
8a25e9f
Merge remote-tracking branch 'refs/remotes/origin/main' into codex/to…
BigSimmo Aug 12, 2026
c11a025
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
6639345
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
36474aa
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
5708481
chore: keep shared review ledger from main
BigSimmo Aug 12, 2026
9a469a9
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
dfcfcbf
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
3675deb
Merge branch 'main' into codex/tools-results-mode-mockup
BigSimmo Aug 12, 2026
5fc2f98
fix: close mockup filter sheet across desktop breakpoint
BigSimmo Aug 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions docs/site-map.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -1042,6 +1042,7 @@ This file is generated by `npm run docs:update` (or `npm run sitemap:update` dir
- `/mockups/tools-action-workbench` - Route discovered from app directory Source: `src/app/mockups/tools-action-workbench/page.tsx`.
- `/mockups/tools-clinical-lanes` - Route discovered from app directory Source: `src/app/mockups/tools-clinical-lanes/page.tsx`.
- `/mockups/tools-command-center` - Route discovered from app directory Source: `src/app/mockups/tools-command-center/page.tsx`.
- `/mockups/tools-search-mode` - Route discovered from app directory Source: `src/app/mockups/tools-search-mode/page.tsx`.
- `/mockups/tools-split-clinical-brief` - Route discovered from app directory Source: `src/app/mockups/tools-split-clinical-brief/page.tsx`.
- `/mockups/tools-split-compact-sheet` - Route discovered from app directory Source: `src/app/mockups/tools-split-compact-sheet/page.tsx`.
- `/mockups/tools-split-pane` - Route discovered from app directory Source: `src/app/mockups/tools-split-pane/page.tsx`.
Expand Down
6 changes: 5 additions & 1 deletion mockups/README.md
Original file line numberDiff line numberDiff line change
Expand Up@@ -20,7 +20,7 @@ Mockups use the Clinical White / Sky Graphite role tokens (`--command`, `--clini
Runnable mockups under `src/app/mockups/*` inherit the shared Clinical KB header and bottom search composer from `src/app/mockups/layout.tsx`.

- Put the mockup content between the global header and bottom composer; do not copy the header or composer into new pages.
- Tool and favourites mockups keep the shared app header but hide the bottom composer because they provide their own primary search surface.
- Favourites mockups and Tools mockups that provide their own primary search surface keep the shared app header but hide the bottom composer.
- Use `?mode=answer`, `?mode=documents`, `?mode=prescribing`, `?mode=evidence`, or `?mode=favourites` to preview the active search mode.
- The bottom composer routes live searches to the dashboard with `mode`, `q`, and `run=1`; New chat routes to `/?mode=answer&focus=1`.
- If a future mockup must be standalone, move it outside the `/mockups` route shell or add an explicit opt-out route group before implementing it.
Expand DownExpand Up@@ -61,6 +61,10 @@ These are PNGs for design review only. Runnable `/mockups/*` routes are a separa

**Perfected combined comps** (desktop + phone in one image, recommended directions only) live in [`public/mockups/mode-page-redesign-2026-07/perfected-combined/`](../public/mockups/mode-page-redesign-2026-07/perfected-combined/README.md).

## Perfected Tools search mode

`/mockups/tools-search-mode?mode=tools&q=Compare` is the interactive responsive Tools results-mode study. It uses the site's universal header and search composer, the shared results ribbon and filter conventions, compact Tools result cards, a contextual detail panel on desktop, and a bottom sheet on phones. It intentionally excludes the Tools home hero, quick actions, medication-list treatment, and cross-mode suggestion blocks.
Comment thread
coderabbitai[bot] marked this conversation as resolved.

## Breadcrumb header study (2026-08-09) — shipped, route retired

Three sticky header directions for record pages that use `InformationPageBreadcrumbs` and have **no in-page section index** — factsheets, services, forms, DSM, specifiers, formulation, medications. `InPageNavHeader` stays the default for in-page navigation per [`docs/search-chrome-behaviour.md`](../docs/search-chrome-behaviour.md); it is the wrong shape for those pages, because with no sections its disclosure opens a one-item sheet and its weighted track renders one full-width segment. Every direction kept that header's row grammar (back, title, ellipsis, one scroll owner) and dropped the section machinery:
Expand Down
4 changes: 2 additions & 2 deletions playwright.config.ts
Original file line numberDiff line numberDiff line change
Expand Up@@ -25,13 +25,13 @@ const chromiumExecutablePath = process.env.PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH;
const productionSpecPattern =
/.*(?:answer-progress-ui-smoke|ui-(smoke|stress|accessibility|document-canvas|tools|overlap|universal-search|specifiers|formulation(?:-result-cards)?|forms-section-nav|chrome-scroll|therapy-nav-scroll|mode-nav-density|phone-scroll(?:-[a-z0-9-]+)?|pwa|route-coverage|style-contract|visual-artifacts|hydration))\.spec\.ts/;
const mockupSpecPattern =
/.*ui-(document-top-navigation-mockup|therapy-navigation-mockup|tools|tools-collapse|tools-task-directory)\.spec\.ts/;
/.*ui-(document-top-navigation-mockup|therapy-navigation-mockup|tools|tools-collapse|tools-search-mode-mockup|tools-task-directory)\.spec\.ts/;
const mockupTag = /@mockup/;

export default defineConfig({
testDir: "./tests",
testMatch:
/.*(?:answer-progress-ui-smoke|ui-(smoke|stress|accessibility|document-canvas|document-top-navigation-mockup|therapy-navigation-mockup|tools|tools-collapse|tools-task-directory|overlap|universal-search|specifiers|formulation(?:-result-cards)?|forms-section-nav|chrome-scroll|therapy-nav-scroll|mode-nav-density|phone-scroll(?:-[a-z0-9-]+)?|pwa|route-coverage|style-contract|visual-artifacts|hydration))\.spec\.ts/,
/.*(?:answer-progress-ui-smoke|ui-(smoke|stress|accessibility|document-canvas|document-top-navigation-mockup|therapy-navigation-mockup|tools|tools-collapse|tools-search-mode-mockup|tools-task-directory|overlap|universal-search|specifiers|formulation(?:-result-cards)?|forms-section-nav|chrome-scroll|therapy-nav-scroll|mode-nav-density|phone-scroll(?:-[a-z0-9-]+)?|pwa|route-coverage|style-contract|visual-artifacts|hydration))\.spec\.ts/,
timeout: 60_000,
retries: 0,
// Fail the run if a stray `test.only` is committed: otherwise it silently
Expand Down
3 changes: 2 additions & 1 deletion src/app/mockups/mockups-layout-client.tsx
Original file line numberDiff line numberDiff line change
Expand Up@@ -8,6 +8,7 @@ import { GlobalMockupSearchShell } from "@/components/clinical-dashboard/global-
export function MockupsLayoutClient({ children }: { children: ReactNode }) {
const pathname = usePathname();
const isToolsPageMockup = pathname.startsWith("/mockups/tools-");
const isToolsSearchModeMockup = pathname === "/mockups/tools-search-mode";
const isFavouritesPageMockup = pathname.startsWith("/mockups/favourites-");
const isDocumentSearchMockup = pathname.startsWith("/mockups/document-search");
const isDocumentTopNavigationMockup = pathname === "/mockups/document-top-navigation";
Expand DownExpand Up@@ -85,7 +86,7 @@ export function MockupsLayoutClient({ children }: { children: ReactNode }) {
: "answer"
}
searchComposerVisible={
!isToolsPageMockup &&
(!isToolsPageMockup || isToolsSearchModeMockup) &&
!isFavouritesPageMockup &&
!isStandaloneDocumentFlow &&
!isDocumentTopNavigationMockup &&
Expand Down
12 changes: 12 additions & 0 deletions src/app/mockups/tools-search-mode/page.tsx
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
import type { Metadata } from "next";

import { ToolsSearchModeMockup } from "@/components/tools-page-mockups/tools-search-mode-mockup";

export const metadata: Metadata = {
title: "Perfected Tools Results Mode Mockup - Clinical KB",
description: "Responsive Tools results page with the universal search composer and adaptive tool details.",
};

export default function ToolsSearchModeMockupRoute() {
return <ToolsSearchModeMockup />;
}
Loading
Loading