2026-02-26 16:33:39 -06:00
|
|
|
import { useState, useEffect, useMemo } from "react";
|
2026-03-02 16:44:03 -06:00
|
|
|
import { useNavigate } from "@/lib/router";
|
2026-02-17 12:24:48 -06:00
|
|
|
import { useQuery } from "@tanstack/react-query";
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
import { useCompany } from "../context/CompanyContext";
|
2026-02-17 10:53:20 -06:00
|
|
|
import { useDialog } from "../context/DialogContext";
|
2026-03-05 18:23:36 -06:00
|
|
|
import { useSidebar } from "../context/SidebarContext";
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
import { issuesApi } from "../api/issues";
|
|
|
|
|
import { agentsApi } from "../api/agents";
|
|
|
|
|
import { projectsApi } from "../api/projects";
|
2026-02-17 12:24:48 -06:00
|
|
|
import { queryKeys } from "../lib/queryKeys";
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
import {
|
|
|
|
|
CommandDialog,
|
|
|
|
|
CommandEmpty,
|
|
|
|
|
CommandGroup,
|
|
|
|
|
CommandInput,
|
|
|
|
|
CommandItem,
|
|
|
|
|
CommandList,
|
2026-02-17 10:53:20 -06:00
|
|
|
CommandSeparator,
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
} from "@/components/ui/command";
|
2026-02-17 10:53:20 -06:00
|
|
|
import {
|
|
|
|
|
CircleDot,
|
|
|
|
|
Bot,
|
|
|
|
|
Hexagon,
|
|
|
|
|
Target,
|
|
|
|
|
LayoutDashboard,
|
|
|
|
|
Inbox,
|
|
|
|
|
DollarSign,
|
|
|
|
|
History,
|
|
|
|
|
SquarePen,
|
|
|
|
|
Plus,
|
|
|
|
|
} from "lucide-react";
|
UI: Identity component, LiveRunWidget, issue identifiers, and UX improvements
Add Identity component (avatar + name) used across agent/issue displays. Add
LiveRunWidget for real-time streaming of active heartbeat runs on issue detail
pages via WebSocket. Display issue identifiers (PAP-42) instead of UUID
fragments throughout Issues, Inbox, CommandPalette, and detail pages.
Enhance CommentThread with re-open checkbox, Cmd+Enter submit, sorted display,
and run linking. Improve Activity page with richer formatting and filtering.
Update Dashboard with live metrics. Add reports-to agent link in AgentProperties.
Various small fixes: StatusIcon centering, CopyText ref init, agent detail
run-issue cross-links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:10:07 -06:00
|
|
|
import { Identity } from "./Identity";
|
2026-03-02 16:44:03 -06:00
|
|
|
import { agentUrl, projectUrl } from "../lib/utils";
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
|
|
|
|
|
export function CommandPalette() {
|
|
|
|
|
const [open, setOpen] = useState(false);
|
2026-02-26 16:33:39 -06:00
|
|
|
const [query, setQuery] = useState("");
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
const navigate = useNavigate();
|
|
|
|
|
const { selectedCompanyId } = useCompany();
|
Build out agent management UI: detail page, create dialog, list view
Add NewAgentDialog for creating agents with adapter config. Expand
AgentDetail page with tabbed view (overview, runs, config, logs),
run history timeline, and live status. Enhance Agents list page with
richer cards and filtering. Update AgentProperties panel, API client,
query keys, and utility helpers.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 12:33:04 -06:00
|
|
|
const { openNewIssue, openNewAgent } = useDialog();
|
2026-03-05 18:23:36 -06:00
|
|
|
const { isMobile, setSidebarOpen } = useSidebar();
|
2026-02-26 16:33:39 -06:00
|
|
|
const searchQuery = query.trim();
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
|
|
|
|
|
useEffect(() => {
|
|
|
|
|
function handleKeyDown(e: KeyboardEvent) {
|
|
|
|
|
if (e.key === "k" && (e.metaKey || e.ctrlKey)) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
setOpen(true);
|
2026-03-05 18:23:36 -06:00
|
|
|
if (isMobile) setSidebarOpen(false);
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
document.addEventListener("keydown", handleKeyDown);
|
|
|
|
|
return () => document.removeEventListener("keydown", handleKeyDown);
|
2026-03-05 18:23:36 -06:00
|
|
|
}, [isMobile, setSidebarOpen]);
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
|
2026-02-26 16:33:39 -06:00
|
|
|
useEffect(() => {
|
|
|
|
|
if (!open) setQuery("");
|
|
|
|
|
}, [open]);
|
|
|
|
|
|
2026-02-17 12:24:48 -06:00
|
|
|
const { data: issues = [] } = useQuery({
|
|
|
|
|
queryKey: queryKeys.issues.list(selectedCompanyId!),
|
|
|
|
|
queryFn: () => issuesApi.list(selectedCompanyId!),
|
|
|
|
|
enabled: !!selectedCompanyId && open,
|
|
|
|
|
});
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
|
2026-02-26 16:33:39 -06:00
|
|
|
const { data: searchedIssues = [] } = useQuery({
|
|
|
|
|
queryKey: queryKeys.issues.search(selectedCompanyId!, searchQuery),
|
|
|
|
|
queryFn: () => issuesApi.list(selectedCompanyId!, { q: searchQuery }),
|
|
|
|
|
enabled: !!selectedCompanyId && open && searchQuery.length > 0,
|
|
|
|
|
});
|
|
|
|
|
|
2026-02-17 12:24:48 -06:00
|
|
|
const { data: agents = [] } = useQuery({
|
|
|
|
|
queryKey: queryKeys.agents.list(selectedCompanyId!),
|
|
|
|
|
queryFn: () => agentsApi.list(selectedCompanyId!),
|
|
|
|
|
enabled: !!selectedCompanyId && open,
|
|
|
|
|
});
|
|
|
|
|
|
2026-03-14 17:47:53 -05:00
|
|
|
const { data: allProjects = [] } = useQuery({
|
2026-02-17 12:24:48 -06:00
|
|
|
queryKey: queryKeys.projects.list(selectedCompanyId!),
|
|
|
|
|
queryFn: () => projectsApi.list(selectedCompanyId!),
|
|
|
|
|
enabled: !!selectedCompanyId && open,
|
|
|
|
|
});
|
2026-03-14 17:47:53 -05:00
|
|
|
const projects = useMemo(
|
|
|
|
|
() => allProjects.filter((p) => !p.archivedAt),
|
|
|
|
|
[allProjects],
|
|
|
|
|
);
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
|
|
|
|
|
function go(path: string) {
|
|
|
|
|
setOpen(false);
|
|
|
|
|
navigate(path);
|
|
|
|
|
}
|
|
|
|
|
|
2026-02-17 10:53:20 -06:00
|
|
|
const agentName = (id: string | null) => {
|
|
|
|
|
if (!id) return null;
|
|
|
|
|
return agents.find((a) => a.id === id)?.name ?? null;
|
|
|
|
|
};
|
|
|
|
|
|
2026-02-26 16:33:39 -06:00
|
|
|
const visibleIssues = useMemo(
|
|
|
|
|
() => (searchQuery.length > 0 ? searchedIssues : issues),
|
|
|
|
|
[issues, searchedIssues, searchQuery],
|
|
|
|
|
);
|
|
|
|
|
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
return (
|
2026-03-05 18:23:36 -06:00
|
|
|
<CommandDialog open={open} onOpenChange={(v) => {
|
|
|
|
|
setOpen(v);
|
|
|
|
|
if (v && isMobile) setSidebarOpen(false);
|
|
|
|
|
}}>
|
2026-02-26 16:33:39 -06:00
|
|
|
<CommandInput
|
|
|
|
|
placeholder="Search issues, agents, projects..."
|
|
|
|
|
value={query}
|
|
|
|
|
onValueChange={setQuery}
|
|
|
|
|
/>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
<CommandList>
|
|
|
|
|
<CommandEmpty>No results found.</CommandEmpty>
|
|
|
|
|
|
2026-02-26 16:33:39 -06:00
|
|
|
<CommandGroup heading="Actions">
|
|
|
|
|
<CommandItem
|
|
|
|
|
onSelect={() => {
|
|
|
|
|
setOpen(false);
|
|
|
|
|
openNewIssue();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<SquarePen className="mr-2 h-4 w-4" />
|
|
|
|
|
Create new issue
|
|
|
|
|
<span className="ml-auto text-xs text-muted-foreground">C</span>
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem
|
|
|
|
|
onSelect={() => {
|
|
|
|
|
setOpen(false);
|
|
|
|
|
openNewAgent();
|
|
|
|
|
}}
|
|
|
|
|
>
|
|
|
|
|
<Plus className="mr-2 h-4 w-4" />
|
|
|
|
|
Create new agent
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/projects")}>
|
|
|
|
|
<Plus className="mr-2 h-4 w-4" />
|
|
|
|
|
Create new project
|
|
|
|
|
</CommandItem>
|
|
|
|
|
</CommandGroup>
|
|
|
|
|
|
|
|
|
|
<CommandSeparator />
|
|
|
|
|
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
<CommandGroup heading="Pages">
|
2026-02-17 10:53:20 -06:00
|
|
|
<CommandItem onSelect={() => go("/dashboard")}>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
<LayoutDashboard className="mr-2 h-4 w-4" />
|
|
|
|
|
Dashboard
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/inbox")}>
|
|
|
|
|
<Inbox className="mr-2 h-4 w-4" />
|
|
|
|
|
Inbox
|
|
|
|
|
</CommandItem>
|
2026-02-17 10:53:20 -06:00
|
|
|
<CommandItem onSelect={() => go("/issues")}>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
<CircleDot className="mr-2 h-4 w-4" />
|
|
|
|
|
Issues
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/projects")}>
|
|
|
|
|
<Hexagon className="mr-2 h-4 w-4" />
|
|
|
|
|
Projects
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/goals")}>
|
|
|
|
|
<Target className="mr-2 h-4 w-4" />
|
|
|
|
|
Goals
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/agents")}>
|
|
|
|
|
<Bot className="mr-2 h-4 w-4" />
|
|
|
|
|
Agents
|
|
|
|
|
</CommandItem>
|
2026-02-17 10:53:20 -06:00
|
|
|
<CommandItem onSelect={() => go("/costs")}>
|
|
|
|
|
<DollarSign className="mr-2 h-4 w-4" />
|
|
|
|
|
Costs
|
|
|
|
|
</CommandItem>
|
|
|
|
|
<CommandItem onSelect={() => go("/activity")}>
|
|
|
|
|
<History className="mr-2 h-4 w-4" />
|
|
|
|
|
Activity
|
|
|
|
|
</CommandItem>
|
|
|
|
|
</CommandGroup>
|
|
|
|
|
|
2026-02-26 16:33:39 -06:00
|
|
|
{visibleIssues.length > 0 && (
|
2026-02-17 10:53:20 -06:00
|
|
|
<>
|
|
|
|
|
<CommandSeparator />
|
|
|
|
|
<CommandGroup heading="Issues">
|
2026-02-26 16:33:39 -06:00
|
|
|
{visibleIssues.slice(0, 10).map((issue) => (
|
|
|
|
|
<CommandItem
|
|
|
|
|
key={issue.id}
|
|
|
|
|
value={
|
|
|
|
|
searchQuery.length > 0
|
2026-03-02 16:44:03 -06:00
|
|
|
? `${searchQuery} ${issue.identifier ?? ""} ${issue.title}`
|
2026-02-26 16:33:39 -06:00
|
|
|
: undefined
|
|
|
|
|
}
|
|
|
|
|
onSelect={() => go(`/issues/${issue.identifier ?? issue.id}`)}
|
|
|
|
|
>
|
2026-02-17 10:53:20 -06:00
|
|
|
<CircleDot className="mr-2 h-4 w-4" />
|
|
|
|
|
<span className="text-muted-foreground mr-2 font-mono text-xs">
|
UI: Identity component, LiveRunWidget, issue identifiers, and UX improvements
Add Identity component (avatar + name) used across agent/issue displays. Add
LiveRunWidget for real-time streaming of active heartbeat runs on issue detail
pages via WebSocket. Display issue identifiers (PAP-42) instead of UUID
fragments throughout Issues, Inbox, CommandPalette, and detail pages.
Enhance CommentThread with re-open checkbox, Cmd+Enter submit, sorted display,
and run linking. Improve Activity page with richer formatting and filtering.
Update Dashboard with live metrics. Add reports-to agent link in AgentProperties.
Various small fixes: StatusIcon centering, CopyText ref init, agent detail
run-issue cross-links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:10:07 -06:00
|
|
|
{issue.identifier ?? issue.id.slice(0, 8)}
|
2026-02-17 10:53:20 -06:00
|
|
|
</span>
|
|
|
|
|
<span className="flex-1 truncate">{issue.title}</span>
|
UI: Identity component, LiveRunWidget, issue identifiers, and UX improvements
Add Identity component (avatar + name) used across agent/issue displays. Add
LiveRunWidget for real-time streaming of active heartbeat runs on issue detail
pages via WebSocket. Display issue identifiers (PAP-42) instead of UUID
fragments throughout Issues, Inbox, CommandPalette, and detail pages.
Enhance CommentThread with re-open checkbox, Cmd+Enter submit, sorted display,
and run linking. Improve Activity page with richer formatting and filtering.
Update Dashboard with live metrics. Add reports-to agent link in AgentProperties.
Various small fixes: StatusIcon centering, CopyText ref init, agent detail
run-issue cross-links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:10:07 -06:00
|
|
|
{issue.assigneeAgentId && (() => {
|
|
|
|
|
const name = agentName(issue.assigneeAgentId);
|
2026-03-05 17:18:01 -06:00
|
|
|
return name ? <Identity name={name} size="sm" className="ml-2 hidden sm:inline-flex" /> : null;
|
UI: Identity component, LiveRunWidget, issue identifiers, and UX improvements
Add Identity component (avatar + name) used across agent/issue displays. Add
LiveRunWidget for real-time streaming of active heartbeat runs on issue detail
pages via WebSocket. Display issue identifiers (PAP-42) instead of UUID
fragments throughout Issues, Inbox, CommandPalette, and detail pages.
Enhance CommentThread with re-open checkbox, Cmd+Enter submit, sorted display,
and run linking. Improve Activity page with richer formatting and filtering.
Update Dashboard with live metrics. Add reports-to agent link in AgentProperties.
Various small fixes: StatusIcon centering, CopyText ref init, agent detail
run-issue cross-links.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 09:10:07 -06:00
|
|
|
})()}
|
2026-02-17 10:53:20 -06:00
|
|
|
</CommandItem>
|
|
|
|
|
))}
|
|
|
|
|
</CommandGroup>
|
|
|
|
|
</>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{agents.length > 0 && (
|
2026-02-17 10:53:20 -06:00
|
|
|
<>
|
|
|
|
|
<CommandSeparator />
|
|
|
|
|
<CommandGroup heading="Agents">
|
|
|
|
|
{agents.slice(0, 10).map((agent) => (
|
2026-03-02 16:44:03 -06:00
|
|
|
<CommandItem key={agent.id} onSelect={() => go(agentUrl(agent))}>
|
2026-02-17 10:53:20 -06:00
|
|
|
<Bot className="mr-2 h-4 w-4" />
|
|
|
|
|
{agent.name}
|
|
|
|
|
<span className="text-xs text-muted-foreground ml-2">{agent.role}</span>
|
|
|
|
|
</CommandItem>
|
|
|
|
|
))}
|
|
|
|
|
</CommandGroup>
|
|
|
|
|
</>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
)}
|
|
|
|
|
|
|
|
|
|
{projects.length > 0 && (
|
2026-02-17 10:53:20 -06:00
|
|
|
<>
|
|
|
|
|
<CommandSeparator />
|
|
|
|
|
<CommandGroup heading="Projects">
|
|
|
|
|
{projects.slice(0, 10).map((project) => (
|
2026-03-02 16:44:03 -06:00
|
|
|
<CommandItem key={project.id} onSelect={() => go(projectUrl(project))}>
|
2026-02-17 10:53:20 -06:00
|
|
|
<Hexagon className="mr-2 h-4 w-4" />
|
|
|
|
|
{project.name}
|
|
|
|
|
</CommandItem>
|
|
|
|
|
))}
|
|
|
|
|
</CommandGroup>
|
|
|
|
|
</>
|
Add shared UI primitives, contexts, and reusable components
Add shadcn components: avatar, breadcrumb, checkbox, collapsible,
command, dialog, dropdown-menu, label, popover, scroll-area, sheet,
skeleton, tabs, textarea, tooltip. Add shared components: BreadcrumbBar,
CommandPalette, CompanySwitcher, CommentThread, EmptyState, EntityRow,
FilterBar, InlineEditor, MetricCard, PageSkeleton, PriorityIcon,
PropertiesPanel, StatusIcon, SidebarNavItem/Section. Add contexts for
breadcrumbs, dialogs, and side panels. Add keyboard shortcut hook and
utility helpers. Update layout, sidebar, and main app shell.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:57:00 -06:00
|
|
|
)}
|
|
|
|
|
</CommandList>
|
|
|
|
|
</CommandDialog>
|
|
|
|
|
);
|
|
|
|
|
}
|