Fusion
c5f35ab349
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-30 03:43:21 -07:00
2026-04-08 10:39:38 -07:00
2026-04-12 17:55:07 -07:00
2026-04-19 20:48:14 -07:00
2026-04-26 13:49:26 -07:00
2026-04-24 23:22:46 -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-21 20:12:00 -07:00
2026-04-23 23:02:36 -07:00
2026-04-29 02:10:51 -07:00
2026-04-27 04:05:25 -07:00
2026-04-22 17:12:27 -07:00
2026-04-13 18:21:31 -07:00
2026-04-23 23:02:35 -07:00
2026-04-20 12:59:58 -07:00
2026-04-22 13:57:10 -07:00
2026-04-19 10:13:33 -07:00
2026-04-12 07:00:49 -07:00
2026-04-25 20:32:37 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00
2026-03-26 00:10:53 -04:00
2026-04-19 20:48:13 -07:00
2026-04-24 23:16:29 -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 00:14:18 -07:00
2026-04-27 17:26:07 -07:00
2026-04-17 14:31:43 -07:00
2026-04-09 13:01:19 -07:00
2026-04-07 23:30:32 -07:00
2026-04-24 09:38:16 -07:00
2026-04-27 19:36:24 -07:00
2026-04-16 10:04:44 -07:00
2026-04-23 23:02:35 -07:00
2026-04-15 19:53:22 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00
2026-04-14 09:29:08 -07:00
2026-04-24 08:55:02 -07:00
2026-04-19 10:13:33 -07:00
2026-04-29 10:20:34 -07:00
2026-04-10 02:59:38 -07:00
2026-04-17 15:21:15 -07:00
2026-04-30 03:43:21 -07:00
2026-04-15 18:23:05 -07:00
2026-04-13 18:21:31 -07:00
2026-04-22 01:31:40 -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-21 20:12:00 -07:00
2026-04-23 23:02:35 -07:00
2026-04-15 13:33:27 -07:00
2026-04-17 14:31:43 -07:00
2026-04-26 15:12:32 -07:00
2026-04-27 01:40:07 -07:00
2026-04-23 23:02:36 -07:00
2026-04-08 07:38:32 -07:00
2026-04-29 22:21:27 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00
2026-04-23 23:02:36 -07:00