aboutsummaryrefslogtreecommitdiffstats
path: root/renderer/src/App.tsx
diff options
context:
space:
mode:
authorbndw <ben@bdw.to>2026-02-28 20:45:23 -0800
committerbndw <ben@bdw.to>2026-02-28 20:45:23 -0800
commit0da42e4fa414ab3268d4f71896455097239f8590 (patch)
tree72e951bdf8b591f4c949c6fd687ef780580c8783 /renderer/src/App.tsx
parentdc4156fec54a8efdab84834fe2f5bc90120e32c1 (diff)
feat: Complete 9 tasks
- ✅ **Change 1** — `src/main/git.ts`: Add `LOCK_FILES`, `buildTaskSubject`, `getStagedFileNames`, `buildFileSubject` helpers; rewrite `commitMsg` block in `autoCommitTurn` - ✅ **Change 2a** — `src/main/ipc/handlers.ts`: Update import to include `ensureGitIgnore`; strip branch creation from `sessions:create`; add bare `ensureGitIgnore` call - ✅ **Change 2b** — `src/main/ipc/handlers.ts`: Update `workflow:advance` to create branch on implement transition; return `{ phase, git_branch }` - ✅ **Change 3** — `src/main/preload.ts`: Update `advancePhase` return type in `ClaudeFlowAPI` interface - ✅ **Change 4** — `renderer/src/App.tsx`: Destructure `{ phase, git_branch }` from advance result; spread `git_branch` into `setSelectedSession` - ✅ **Change 5a** — `renderer/src/components/Header.tsx`: Remove branch from `<option>` text - ✅ **Change 5b** — `renderer/src/components/Header.tsx`: Add `phase !== "implement"` guard to rename button - ✅ **Change 5c** — `renderer/src/components/Header.tsx`: Gate badge on `gitBranch` truthy; remove disabled/unavailable state - ✅ **Change 6** — `renderer/src/styles/globals.css`: Delete `.branch-badge.branch-unavailable` rule
Diffstat (limited to 'renderer/src/App.tsx')
-rw-r--r--renderer/src/App.tsx12
1 files changed, 8 insertions, 4 deletions
diff --git a/renderer/src/App.tsx b/renderer/src/App.tsx
index ecbb5b2..74b1f91 100644
--- a/renderer/src/App.tsx
+++ b/renderer/src/App.tsx
@@ -263,13 +263,17 @@ export function App() {
263 selectedSession.phase === "research" ? "research.md" : "plan.md"; 263 selectedSession.phase === "research" ? "research.md" : "plan.md";
264 await api.writeSessionArtifact(selectedProject.id, selectedSession.id, filename, documentContent); 264 await api.writeSessionArtifact(selectedProject.id, selectedSession.id, filename, documentContent);
265 265
266 const nextPhase = await api.advancePhase(selectedSession.id); 266 const advanced = await api.advancePhase(selectedSession.id);
267 if (nextPhase) { 267 if (advanced) {
268 setSelectedSession({ ...selectedSession, phase: nextPhase }); 268 setSelectedSession({
269 ...selectedSession,
270 phase: advanced.phase,
271 git_branch: advanced.git_branch,
272 });
269 // Trigger initial message for next phase 273 // Trigger initial message for next phase
270 setIsLoading(true); 274 setIsLoading(true);
271 const initialMsg = 275 const initialMsg =
272 nextPhase === "plan" 276 advanced.phase === "plan"
273 ? "Create a detailed implementation plan based on the research." 277 ? "Create a detailed implementation plan based on the research."
274 : "Begin implementing the plan."; 278 : "Begin implementing the plan.";
275 await api.sendMessage(selectedSession.id, initialMsg); 279 await api.sendMessage(selectedSession.id, initialMsg);