From af0e467cc17e955d0292f0d6b43f15540f5279df Mon Sep 17 00:00:00 2001 From: OpenClaw Bot Date: Thu, 19 Feb 2026 19:24:48 -0600 Subject: [PATCH] Add new workflow statuses: open, blocked, validate, canceled --- src/app/api/tasks/route.ts | 2 +- src/app/page.tsx | 34 ++++++++++++++-------------------- src/stores/useTaskStore.ts | 2 +- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/app/api/tasks/route.ts b/src/app/api/tasks/route.ts index 9257ae9..e307a9b 100644 --- a/src/app/api/tasks/route.ts +++ b/src/app/api/tasks/route.ts @@ -9,7 +9,7 @@ interface Task { title: string; description?: string; type: 'idea' | 'task' | 'bug' | 'research' | 'plan'; - status: 'backlog' | 'in-progress' | 'review' | 'done' | 'archived'; + status: 'open' | 'backlog' | 'blocked' | 'in-progress' | 'review' | 'validate' | 'archived' | 'canceled' | 'done'; priority: 'low' | 'medium' | 'high' | 'urgent'; projectId: string; sprintId?: string; diff --git a/src/app/page.tsx b/src/app/page.tsx index 7bd3f84..5098eed 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -34,24 +34,24 @@ const priorityColors: Record = { urgent: "text-red-400", } -const statusColumns: TaskStatus[] = ["backlog", "in-progress", "review", "done"] +const allStatuses: TaskStatus[] = ["open", "backlog", "blocked", "in-progress", "review", "validate", "archived", "canceled", "done"] // Sprint board columns mapped to workflow statuses const sprintColumns = [ { key: "todo", label: "To Do", - statuses: ["backlog"] // OPEN, TO DO + statuses: ["open", "backlog"] // OPEN, TO DO }, { key: "inprogress", label: "In Progress", - statuses: ["in-progress", "review"] // BLOCKED, IN PROGRESS, REVIEW, VALIDATE + statuses: ["blocked", "in-progress", "review", "validate"] // BLOCKED, IN PROGRESS, REVIEW, VALIDATE }, { key: "done", label: "Done", - statuses: ["done", "archived"] // ARCHIVED, CANCELED, DONE + statuses: ["archived", "canceled", "done"] // ARCHIVED, CANCELED, DONE }, ] as const @@ -483,8 +483,8 @@ export default function Home() { onChange={(e) => setNewTask({ ...newTask, status: e.target.value as TaskStatus })} className="w-full mt-1.5 px-3 py-2 bg-slate-800 border border-slate-700 rounded-lg text-white focus:outline-none focus:border-blue-500" > - {statusColumns.map((status) => ( - + {allStatuses.map((status) => ( + ))} @@ -593,21 +593,15 @@ export default function Home() { {/* Status */}
-
- {statusColumns.map((status) => ( - +
{/* Sprint */} diff --git a/src/stores/useTaskStore.ts b/src/stores/useTaskStore.ts index b78101b..03baa4d 100644 --- a/src/stores/useTaskStore.ts +++ b/src/stores/useTaskStore.ts @@ -2,7 +2,7 @@ import { create } from 'zustand' import { persist } from 'zustand/middleware' export type TaskType = 'idea' | 'task' | 'bug' | 'research' | 'plan' -export type TaskStatus = 'backlog' | 'in-progress' | 'review' | 'done' | 'archived' +export type TaskStatus = 'open' | 'backlog' | 'blocked' | 'in-progress' | 'review' | 'validate' | 'archived' | 'canceled' | 'done' export type Priority = 'low' | 'medium' | 'high' | 'urgent' export type SprintStatus = 'planning' | 'active' | 'completed'