diff --git a/ui/src/App.tsx b/ui/src/App.tsx index 52d68289..f0876ccc 100644 --- a/ui/src/App.tsx +++ b/ui/src/App.tsx @@ -2,7 +2,6 @@ import { Routes, Route, Navigate } from "react-router-dom"; import { Layout } from "./components/Layout"; import { Dashboard } from "./pages/Dashboard"; import { Companies } from "./pages/Companies"; -import { Org } from "./pages/Org"; import { Agents } from "./pages/Agents"; import { AgentDetail } from "./pages/AgentDetail"; import { Projects } from "./pages/Projects"; @@ -16,6 +15,7 @@ import { Costs } from "./pages/Costs"; import { Activity } from "./pages/Activity"; import { Inbox } from "./pages/Inbox"; import { MyIssues } from "./pages/MyIssues"; +import { DesignGuide } from "./pages/DesignGuide"; export function App() { return ( @@ -24,7 +24,7 @@ export function App() { } /> } /> } /> - } /> + } /> } /> } /> } /> @@ -38,6 +38,7 @@ export function App() { } /> } /> } /> + } /> ); diff --git a/ui/src/components/CommandPalette.tsx b/ui/src/components/CommandPalette.tsx index 543f2412..1f22417e 100644 --- a/ui/src/components/CommandPalette.tsx +++ b/ui/src/components/CommandPalette.tsx @@ -25,7 +25,6 @@ import { Inbox, DollarSign, History, - GitBranch, SquarePen, Plus, } from "lucide-react"; @@ -114,10 +113,6 @@ export function CommandPalette() { Activity - go("/org")}> - - Org Chart - diff --git a/ui/src/components/NewIssueDialog.tsx b/ui/src/components/NewIssueDialog.tsx index 7a37626a..770b15f3 100644 --- a/ui/src/components/NewIssueDialog.tsx +++ b/ui/src/components/NewIssueDialog.tsx @@ -94,6 +94,7 @@ export function NewIssueDialog() { setStatus(newIssueDefaults.status ?? "todo"); setPriority(newIssueDefaults.priority ?? ""); setProjectId(newIssueDefaults.projectId ?? ""); + setAssigneeId(newIssueDefaults.assigneeAgentId ?? ""); } }, [newIssueOpen, newIssueDefaults]); diff --git a/ui/src/components/Sidebar.tsx b/ui/src/components/Sidebar.tsx index 80be3421..72dd9fb2 100644 --- a/ui/src/components/Sidebar.tsx +++ b/ui/src/components/Sidebar.tsx @@ -4,15 +4,14 @@ import { Hexagon, Target, LayoutDashboard, - GitBranch, Bot, DollarSign, History, Search, SquarePen, - Building2, ListTodo, - LayoutList, + ShieldCheck, + Building2, } from "lucide-react"; import { CompanySwitcher } from "./CompanySwitcher"; import { SidebarSection } from "./SidebarSection"; @@ -70,8 +69,8 @@ export function Sidebar() { - + diff --git a/ui/src/context/DialogContext.tsx b/ui/src/context/DialogContext.tsx index 1254cf00..4aea7ff2 100644 --- a/ui/src/context/DialogContext.tsx +++ b/ui/src/context/DialogContext.tsx @@ -4,6 +4,7 @@ interface NewIssueDefaults { status?: string; priority?: string; projectId?: string; + assigneeAgentId?: string; } interface DialogContextValue { diff --git a/ui/src/pages/Companies.tsx b/ui/src/pages/Companies.tsx index cd61adb4..6f1c083c 100644 --- a/ui/src/pages/Companies.tsx +++ b/ui/src/pages/Companies.tsx @@ -1,31 +1,26 @@ import { useState, useEffect } from "react"; import { useMutation, useQueryClient } from "@tanstack/react-query"; import { useCompany } from "../context/CompanyContext"; +import { useDialog } from "../context/DialogContext"; import { useBreadcrumbs } from "../context/BreadcrumbContext"; import { companiesApi } from "../api/companies"; import { queryKeys } from "../lib/queryKeys"; import { formatCents } from "../lib/utils"; -import { Card, CardContent } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Pencil, Check, X } from "lucide-react"; +import { Pencil, Check, X, Plus } from "lucide-react"; export function Companies() { const { companies, selectedCompanyId, setSelectedCompanyId, - createCompany, loading, error, } = useCompany(); + const { openOnboarding } = useDialog(); const { setBreadcrumbs } = useBreadcrumbs(); const queryClient = useQueryClient(); - const [name, setName] = useState(""); - const [description, setDescription] = useState(""); - const [budget, setBudget] = useState("0"); - const [submitting, setSubmitting] = useState(false); - const [submitError, setSubmitError] = useState(null); // Inline edit state const [editingId, setEditingId] = useState(null); @@ -44,28 +39,6 @@ export function Companies() { setBreadcrumbs([{ label: "Companies" }]); }, [setBreadcrumbs]); - async function onSubmit(e: React.FormEvent) { - e.preventDefault(); - if (!name.trim()) return; - - setSubmitting(true); - setSubmitError(null); - try { - await createCompany({ - name: name.trim(), - description: description.trim() || null, - budgetMonthlyCents: Number(budget) || 0, - }); - setName(""); - setDescription(""); - setBudget("0"); - } catch (err) { - setSubmitError(err instanceof Error ? err.message : "Failed to create company"); - } finally { - setSubmitting(false); - } - } - function startEdit(companyId: string, currentName: string) { setEditingId(companyId); setEditName(currentName); @@ -83,40 +56,17 @@ export function Companies() { return (
-
-

Companies

-

Create and manage your companies.

+
+
+

Companies

+

Manage your companies.

+
+
- - -

Create Company

-
-
- setName(e.target.value)} - /> - setDescription(e.target.value)} - /> - setBudget(e.target.value.replace(/[^0-9]/g, ""))} - /> -
- {submitError &&

{submitError}

} - -
-
-
-
{loading &&

Loading companies...

} {error &&

{error.message}

} diff --git a/ui/src/pages/Issues.tsx b/ui/src/pages/Issues.tsx index d2b728fb..bd0136d9 100644 --- a/ui/src/pages/Issues.tsx +++ b/ui/src/pages/Issues.tsx @@ -89,22 +89,23 @@ export function Issues() { return (
-

Issues

+
+

Issues

+ setTab(v as TabFilter)}> + + All Issues + Active + Backlog + Done + + +
- setTab(v as TabFilter)}> - - All Issues - Active - Backlog - Done - - - {isLoading &&

Loading...

} {error &&

{error.message}

}