Fusion
5701596315
feat(FN-2994): merge fusion/fn-2994
Commits merged:
- fix(FN-2994): gate unavailable research workflow and humanize provider labels
- fix(FN-2994): polish research view form and history interactions
- feat(FN-2994): complete Step 5 — document research view architecture
- fix(FN-2994): align status-dot variant and hook/test conventions
- fix(FN-2994): address lint and typecheck issues
- test(FN-2994): cover research lifecycle actions and pending status
- fix(FN-2994): polish research actions and cited reader behavior
- feat(FN-2994): complete Step 3 — add lifecycle actions and task flows
- fix(FN-2994): ensure research enables header overflow gate
- feat(FN-2994): complete Step 2 — implement research view shell layout
- feat(FN-2994): complete Step 2 — gate research navigation and view
- feat(FN-2994): complete Step 1 — add research api surface and hook
Files changed:
docs/architecture.md | 7 +-
docs/dashboard-guide.md | 21 ++
packages/dashboard/app/App.tsx | 11 +-
packages/dashboard/app/api/legacy.ts | 143 ++++-----
packages/dashboard/app/components/Header.tsx | 29 +-
packages/dashboard/app/components/MobileNavBar.tsx | 22 +-
packages/dashboard/app/components/ResearchView.css | 247 +++++++++------
packages/dashboard/app/components/ResearchView.tsx | 347 ++++++++++++++-------
.../app/components/__tests__/ResearchView.test.tsx | 183 ++++++-----
.../app/hooks/__tests__/useResearch.test.ts | 66 ++++
packages/dashboard/app/hooks/useResearch.ts | 162 ++++++++++
packages/dashboard/app/research-types.ts | 43 +++
packages/dashboard/app/styles.css | 4 +
.../src/__tests__/research-routes.test.ts | 65 ++++
packages/dashboard/src/research-routes.ts | 195 ++++++++++--
15 files changed, 1111 insertions(+), 434 deletions(-)
Fusion-Task-Id: FN-2994
2026-04-30 03:43:21 -07:00
..
2026-04-08 10:39:38 -07:00
2026-04-24 19:39:20 -07:00
2026-04-19 20:48:14 -07:00
2026-04-24 11:35:55 -07:00
2026-04-24 08:54:25 -07:00
2026-04-08 16:48:35 -07:00
2026-04-29 16:11:59 -07:00
2026-04-28 14:30:38 -07:00
2026-04-27 17:26:07 -07:00
2026-04-14 12:15:01 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 04:05:25 -07:00
2026-04-24 19:39:20 -07:00
2026-04-08 05:53:24 -07:00
2026-04-27 19:59:52 -07:00
2026-04-20 15:37:32 -07:00
2026-04-27 19:59:52 -07:00
2026-04-24 19:39:20 -07:00
2026-04-25 20:32:37 -07:00
2026-04-12 21:40:34 -07:00
2026-04-12 21:40:34 -07:00
2026-04-18 07:36:57 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 19:59:52 -07:00
2026-04-14 11:29:16 -07:00
2026-04-25 18:22:37 -07:00
2026-04-28 14:25:55 -07:00
2026-04-27 01:22:28 -07:00
2026-04-27 19:59:52 -07:00
2026-04-15 02:53:06 -07:00
2026-04-09 13:01:19 -07:00
2026-04-07 23:30:32 -07:00
2026-04-24 09:44:44 -07:00
2026-04-16 10:04:44 -07:00
2026-04-20 22:10:07 -07:00
2026-04-15 19:53:22 -07:00
2026-03-31 01:26:57 -07:00
2026-04-27 19:59:52 -07:00
2026-04-14 09:29:08 -07:00
2026-04-24 08:55:02 -07:00
2026-04-24 19:39:20 -07:00
2026-04-29 10:20:34 -07:00
2026-04-27 19:59:52 -07:00
2026-04-27 19:59:52 -07:00
2026-04-30 03:43:21 -07:00
2026-04-27 22:53:51 -07:00
2026-04-10 10:44:48 -07:00
2026-04-20 10:16:13 -07:00
2026-04-11 11:27:32 -07:00
2026-04-29 17:23:22 -07:00
2026-04-29 23:13:38 -07:00
2026-04-24 19:39:20 -07:00
2026-04-27 19:59:52 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 19:39:20 -07:00
2026-04-26 14:16:35 -07:00
2026-04-27 01:40:07 -07:00
2026-04-24 19:39:20 -07:00
2026-04-24 22:25:57 -07:00
2026-04-12 18:38:26 -07:00
2026-04-27 19:59:52 -07:00
2026-04-16 23:07:40 -07:00