feat(FN-934): add active planning session badge to Header

- Add badge indicator to Planning button showing count of active background planning sessions
- Integrate useBackgroundSessions hook in App and Header components
- Add badge styles with pulse animation for active session indicator
- Add comprehensive tests for badge rendering and session count display
This commit is contained in:
gsxdsm
2026-04-04 15:10:11 -07:00
parent ea4fe6fe0f
commit dbd79ecb6e
5 changed files with 176 additions and 7 deletions

View File

@@ -5,6 +5,8 @@ interface UseBackgroundSessionsResult {
sessions: AiSessionSummary[];
generating: number;
needsInput: number;
/** Active sessions filtered to type === "planning" only */
planningSessions: AiSessionSummary[];
dismissSession: (id: string) => void;
refresh: () => void;
}
@@ -74,10 +76,13 @@ export function useBackgroundSessions(projectId?: string): UseBackgroundSessions
(s) => s.status === "generating" || s.status === "awaiting_input"
);
const planningSessions = active.filter((s) => s.type === "planning");
return {
sessions: active,
generating: active.filter((s) => s.status === "generating").length,
needsInput: active.filter((s) => s.status === "awaiting_input").length,
planningSessions,
dismissSession,
refresh,
};