summaryrefslogtreecommitdiff
path: root/makima/frontend/src/components/mesh/TaskDetail.tsx
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-01-26 19:15:03 +0000
committersoryu <soryu@soryu.co>2026-01-26 19:15:03 +0000
commit2ee09745c12f0762ab99fadb00cdc0c363cb027b (patch)
tree7a634661956989c1b10e2ad50969a8d9d9a828b2 /makima/frontend/src/components/mesh/TaskDetail.tsx
parentcb4f2fc40dbabb40de948512eee74c7e46264665 (diff)
downloadsoryu-makima/task-task-6dc740fd-6dc740fd.tar.gz
soryu-makima/task-task-6dc740fd-6dc740fd.zip
[WIP] Heartbeat checkpoint - 2026-01-26 19:15:03 UTCmakima/task-task-6dc740fd-6dc740fd
Diffstat (limited to 'makima/frontend/src/components/mesh/TaskDetail.tsx')
-rw-r--r--makima/frontend/src/components/mesh/TaskDetail.tsx13
1 files changed, 13 insertions, 0 deletions
diff --git a/makima/frontend/src/components/mesh/TaskDetail.tsx b/makima/frontend/src/components/mesh/TaskDetail.tsx
index 8936d28..2822b6d 100644
--- a/makima/frontend/src/components/mesh/TaskDetail.tsx
+++ b/makima/frontend/src/components/mesh/TaskDetail.tsx
@@ -7,6 +7,7 @@ import { PRPreview } from "./PRPreview";
import { InlineSubtaskEditor } from "./InlineSubtaskEditor";
import { DirectoryInput } from "./DirectoryInput";
import { BranchTaskModal } from "./BranchTaskModal";
+import { GitActionsPanel } from "./GitActionsPanel";
interface TaskDetailProps {
task: TaskWithSubtasks;
@@ -36,6 +37,8 @@ interface TaskDetailProps {
fetchSubtasks?: (taskId: string) => Promise<TaskSummary[]>;
/** For supervisor tasks: all tasks in the contract (excluding the supervisor itself) */
contractTasks?: TaskSummary[];
+ /** Whether the contract is in local-only mode (no push/PR) */
+ isLocalOnly?: boolean;
}
function formatDate(dateStr: string): string {
@@ -119,6 +122,7 @@ export function TaskDetail({
onAutoMerge,
fetchSubtasks,
contractTasks,
+ isLocalOnly = false,
}: TaskDetailProps) {
const [isEditing, setIsEditing] = useState(false);
const [editName, setEditName] = useState(task.name);
@@ -879,6 +883,15 @@ export function TaskDetail({
)}
</div>
)}
+
+ {/* Git Actions Panel for manual git operations */}
+ {task.status === "done" && (
+ <GitActionsPanel
+ taskId={task.id}
+ isLocalOnly={isLocalOnly}
+ taskStatus={task.status}
+ />
+ )}
</div>
{/* Overlay Diff Modal */}