import type { Issue } from "@paperclip/shared"; import { StatusIcon } from "./StatusIcon"; import { PriorityIcon } from "./PriorityIcon"; import { formatDate } from "../lib/utils"; import { Separator } from "@/components/ui/separator"; interface IssuePropertiesProps { issue: Issue; onUpdate: (data: Record) => void; } function PropertyRow({ label, children }: { label: string; children: React.ReactNode }) { return (
{label}
{children}
); } function statusLabel(status: string): string { return status.replace(/_/g, " ").replace(/\b\w/g, (c) => c.toUpperCase()); } function priorityLabel(priority: string): string { return priority.charAt(0).toUpperCase() + priority.slice(1); } export function IssueProperties({ issue, onUpdate }: IssuePropertiesProps) { return (
onUpdate({ status })} /> {statusLabel(issue.status)} onUpdate({ priority })} /> {priorityLabel(issue.priority)} {issue.assigneeAgentId && ( {issue.assigneeAgentId.slice(0, 8)} )} {issue.projectId && ( {issue.projectId.slice(0, 8)} )}
{issue.id.slice(0, 8)} {formatDate(issue.createdAt)} {formatDate(issue.updatedAt)}
); }