-
Notifications
You must be signed in to change notification settings - Fork 0
feat(ui): tools & favourites mockups + design-token adoption + clinical UI polish #225
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
941fe19
b60fd61
f5cb693
e0435a8
d327732
2cf4764
d605e95
74ba909
46b433b
6bbf3f2
dae41bb
55e0345
ca0c1d5
21bfca1
4e424de
a90245b
c1e4944
7498351
de5c9fe
952c2e7
2ca4685
5b62320
8b2cd7f
ba7f54d
2288840
613c10e
72c4a6c
d1131e8
17365b3
4bc919e
80d1399
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,6 +1,7 @@ | ||
| "use client"; | ||
|
|
||
| import Link from "next/link"; | ||
| import { useRouter } from "next/navigation"; | ||
| import { | ||
| BookOpen, | ||
| Brain, | ||
|
|
@@ -812,6 +813,7 @@ export function ApplicationsLauncherWorkspace({ | |
| const [pinnedIds, setPinnedIds] = useState(seedPinnedIds); | ||
| const [mobileDetailOpen, setMobileDetailOpen] = useState(false); | ||
| const [desktopViewport, setDesktopViewport] = useState(false); | ||
| const router = useRouter(); | ||
| const isDashboardTools = variant === "dashboard-tools"; | ||
| const copy = isDashboardTools ? dashboardToolsLauncherCopy : standaloneLauncherCopy; | ||
| const query = controlledQuery ?? uncontrolledQuery; | ||
|
|
@@ -870,7 +872,18 @@ export function ApplicationsLauncherWorkspace({ | |
| function submitFooterSearch(event: FormEvent<HTMLFormElement>) { | ||
| event.preventDefault(); | ||
| const firstMatch = filteredApps[0]; | ||
| if (firstMatch) selectApplication(firstMatch.id); | ||
| if (!firstMatch) return; | ||
| // Dashboard-tools run mode hides the detail panel on desktop, so selecting a | ||
| // match has no visible effect — launch the top match directly instead. | ||
| if (isDashboardTools && !showDetailPanel && desktopViewport) { | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Fresh evidence in this revision is that the new launch behavior is added to Useful? React with 👍 / 👎. |
||
| if (firstMatch.external) { | ||
| window.open(firstMatch.href, "_blank", "noopener,noreferrer"); | ||
| } else { | ||
| router.push(firstMatch.href); | ||
| } | ||
| return; | ||
| } | ||
| selectApplication(firstMatch.id); | ||
| } | ||
|
|
||
| const workspace = ( | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fresh evidence in this revision is that stale evidence is cleared only through the
DifferentialsHomecallback, but the visible/portaled composer is owned byMasterSearchHeaderand still receivesonQueryChange={setQuery}. After a successful differential search, editing that composer on the differential home page leaves the olddocumentMatchespopulated, sohasEvidenceMatchesremains true andSearchResultsViewcan render the previous query's rankings under the new unsubmitted text; clear matches in the header query path or key matches to the submitted query.Useful? React with 👍 / 👎.