summaryrefslogtreecommitdiff
path: root/makima/frontend/src/routes
diff options
context:
space:
mode:
authorsoryu <soryu@soryu.co>2026-03-07 02:29:19 +0000
committerGitHub <noreply@github.com>2026-03-07 02:29:19 +0000
commitef643072234477685614ed281e34ef77e45caad4 (patch)
tree96562ad1b73efa0f21ea79ae571e1c8674549d31 /makima/frontend/src/routes
parent0e30f1790cd3a1717dcb55ae137700de9bb0dfcb (diff)
parentae3bc57de7a240c3c8ab15080b405e8ea3e16ccb (diff)
downloadsoryu-ef643072234477685614ed281e34ef77e45caad4.tar.gz
soryu-ef643072234477685614ed281e34ef77e45caad4.zip
Merge pull request #86 from soryu-co/makima/directive-soryu-co-soryu---makima-19fd3e1d-v1772803139
feat: filter contract phase orbs by type & add DOGs (directive order groups)
Diffstat (limited to 'makima/frontend/src/routes')
-rw-r--r--makima/frontend/src/routes/directives.tsx8
-rw-r--r--makima/frontend/src/routes/orders.tsx3
2 files changed, 11 insertions, 0 deletions
diff --git a/makima/frontend/src/routes/directives.tsx b/makima/frontend/src/routes/directives.tsx
index cee4920..846f52f 100644
--- a/makima/frontend/src/routes/directives.tsx
+++ b/makima/frontend/src/routes/directives.tsx
@@ -4,6 +4,7 @@ import { Masthead } from "../components/Masthead";
import { DirectiveList } from "../components/directives/DirectiveList";
import { DirectiveDetail } from "../components/directives/DirectiveDetail";
import { useDirectives, useDirective } from "../hooks/useDirectives";
+import { useDogs } from "../hooks/useDogs";
import { useAuth } from "../contexts/AuthContext";
import { getRepositorySuggestions, type RepositoryHistoryEntry } from "../lib/api";
@@ -13,6 +14,7 @@ export default function DirectivesPage() {
const { id: selectedId } = useParams<{ id: string }>();
const { directives, loading: listLoading, create, remove } = useDirectives();
const { directive, refresh: refreshDetail, update, start, pause, advance, completeStep, failStep, skipStep, updateGoal, cleanup, pickUpOrders, createPR } = useDirective(selectedId);
+ const { dogs, loading: dogsLoading, create: createDog, update: updateDog, remove: removeDog, pickUpOrders: pickUpDogOrders } = useDogs(selectedId);
const [showCreate, setShowCreate] = useState(false);
const [newTitle, setNewTitle] = useState("");
@@ -213,6 +215,12 @@ export default function DirectivesPage() {
onCleanup={cleanup}
onPickUpOrders={pickUpOrders}
onCreatePR={createPR}
+ dogs={dogs}
+ dogsLoading={dogsLoading}
+ onCreateDog={createDog}
+ onUpdateDog={updateDog}
+ onDeleteDog={removeDog}
+ onPickUpDogOrders={pickUpDogOrders}
/>
) : (
<div className="flex-1 flex items-center justify-center h-full">
diff --git a/makima/frontend/src/routes/orders.tsx b/makima/frontend/src/routes/orders.tsx
index aa14e68..06e091a 100644
--- a/makima/frontend/src/routes/orders.tsx
+++ b/makima/frontend/src/routes/orders.tsx
@@ -5,6 +5,7 @@ import { OrderList } from "../components/orders/OrderList";
import { OrderDetail } from "../components/orders/OrderDetail";
import { useOrders, useOrder } from "../hooks/useOrders";
import { useDirectives } from "../hooks/useDirectives";
+import { useDogs } from "../hooks/useDogs";
import { useAuth } from "../contexts/AuthContext";
import type { OrderStatus, OrderType, OrderPriority } from "../lib/api";
@@ -18,6 +19,7 @@ export default function OrdersPage() {
const { orders, loading: listLoading, create, refresh: refreshList } = useOrders(statusFilter, typeFilter);
const { order, refresh: refreshDetail, update, remove: removeOrder, linkDirective, convertToStep } = useOrder(selectedId);
const { directives } = useDirectives();
+ const { dogs } = useDogs(order?.directiveId ?? undefined);
const [showCreate, setShowCreate] = useState(false);
const [newTitle, setNewTitle] = useState("");
@@ -228,6 +230,7 @@ export default function OrdersPage() {
<OrderDetail
order={order}
directives={directives}
+ dogs={dogs}
onUpdate={handleUpdate}
onDelete={handleDelete}
onLinkDirective={handleLinkDirective}