Add ApprovalDetail page with comment thread, revision request/resubmit flow, and ApprovalPayload component for structured payload display. Extend AgentDetail with permissions management, config revision history, and duplicate action. Add agent hire dialog with permission-gated access. Rework Costs page with per-agent breakdown table and period filtering. Add sidebar badge counts for pending approvals and inbox items. Enhance Dashboard with live metrics and sparkline trends. Extend Agents list with pending_approval status and bulk actions. Update IssueDetail with approval linking. Various component improvements to MetricCard, InlineEditor, CommentThread, and StatusBadge. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
48 lines
2.2 KiB
TypeScript
48 lines
2.2 KiB
TypeScript
import { Routes, Route, Navigate } from "react-router-dom";
|
|
import { Layout } from "./components/Layout";
|
|
import { Dashboard } from "./pages/Dashboard";
|
|
import { Companies } from "./pages/Companies";
|
|
import { Agents } from "./pages/Agents";
|
|
import { AgentDetail } from "./pages/AgentDetail";
|
|
import { Projects } from "./pages/Projects";
|
|
import { ProjectDetail } from "./pages/ProjectDetail";
|
|
import { Issues } from "./pages/Issues";
|
|
import { IssueDetail } from "./pages/IssueDetail";
|
|
import { Goals } from "./pages/Goals";
|
|
import { GoalDetail } from "./pages/GoalDetail";
|
|
import { Approvals } from "./pages/Approvals";
|
|
import { ApprovalDetail } from "./pages/ApprovalDetail";
|
|
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 (
|
|
<Routes>
|
|
<Route element={<Layout />}>
|
|
<Route index element={<Navigate to="/dashboard" replace />} />
|
|
<Route path="dashboard" element={<Dashboard />} />
|
|
<Route path="companies" element={<Companies />} />
|
|
<Route path="org" element={<Navigate to="/agents" replace />} />
|
|
<Route path="agents" element={<Agents />} />
|
|
<Route path="agents/:agentId" element={<AgentDetail />} />
|
|
<Route path="agents/:agentId/runs/:runId" element={<AgentDetail />} />
|
|
<Route path="projects" element={<Projects />} />
|
|
<Route path="projects/:projectId" element={<ProjectDetail />} />
|
|
<Route path="issues" element={<Issues />} />
|
|
<Route path="issues/:issueId" element={<IssueDetail />} />
|
|
<Route path="goals" element={<Goals />} />
|
|
<Route path="goals/:goalId" element={<GoalDetail />} />
|
|
<Route path="approvals" element={<Approvals />} />
|
|
<Route path="approvals/:approvalId" element={<ApprovalDetail />} />
|
|
<Route path="costs" element={<Costs />} />
|
|
<Route path="activity" element={<Activity />} />
|
|
<Route path="inbox" element={<Inbox />} />
|
|
<Route path="my-issues" element={<MyIssues />} />
|
|
<Route path="design-guide" element={<DesignGuide />} />
|
|
</Route>
|
|
</Routes>
|
|
);
|
|
}
|