feat(FN-971): add mission status summary with progress bar to mission list

- Add MissionSummary type and getMissionSummary method to MissionStore
- Include mission summary data in GET /missions API endpoint
- Update frontend types and API client for mission summary
- Display mission status summary with progress bar on MissionManager list cards
- Add CSS styles for progress bar and summary display
- Update MissionManager tests for summary display
This commit is contained in:
gsxdsm
2026-04-05 17:19:48 -07:00
parent 3fb3e819af
commit a44ee4e460
8 changed files with 189 additions and 8 deletions

View File

@@ -31,6 +31,7 @@ import type {
FeatureStatus,
InterviewState,
} from "@fusion/core";
import type { MissionSummary } from "@fusion/core";
import {
MISSION_STATUSES,
MILESTONE_STATUSES,
@@ -184,7 +185,7 @@ export function createMissionRouter(store: TaskStore): Router {
/**
* GET /api/missions
* List all missions ordered by createdAt desc
* List all missions ordered by createdAt desc, with status summary
*/
router.get(
"/",
@@ -192,7 +193,12 @@ export function createMissionRouter(store: TaskStore): Router {
const missions = missionStore.listMissions();
// Sort by createdAt desc
missions.sort((a, b) => new Date(b.createdAt).getTime() - new Date(a.createdAt).getTime());
res.json(missions);
// Attach status summary to each mission
const missionsWithSummary = missions.map((mission) => ({
...mission,
summary: missionStore.getMissionSummary(mission.id),
}));
res.json(missionsWithSummary);
})
);