2026-03-02 16:44:03 -06:00
|
|
|
import type {
|
|
|
|
|
Company,
|
|
|
|
|
CompanyPortabilityExportResult,
|
|
|
|
|
CompanyPortabilityImportRequest,
|
|
|
|
|
CompanyPortabilityImportResult,
|
|
|
|
|
CompanyPortabilityPreviewRequest,
|
|
|
|
|
CompanyPortabilityPreviewResult,
|
2026-03-03 08:45:26 -06:00
|
|
|
} from "@paperclipai/shared";
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
import { api } from "./client";
|
|
|
|
|
|
2026-02-17 20:14:05 -06:00
|
|
|
export type CompanyStats = Record<string, { agentCount: number; issueCount: number }>;
|
|
|
|
|
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
export const companiesApi = {
|
|
|
|
|
list: () => api.get<Company[]>("/companies"),
|
|
|
|
|
get: (companyId: string) => api.get<Company>(`/companies/${companyId}`),
|
2026-02-17 20:14:05 -06:00
|
|
|
stats: () => api.get<CompanyStats>("/companies/stats"),
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
create: (data: { name: string; description?: string | null; budgetMonthlyCents?: number }) =>
|
|
|
|
|
api.post<Company>("/companies", data),
|
|
|
|
|
update: (
|
|
|
|
|
companyId: string,
|
UI: approval detail page, agent hiring UX, costs breakdown, sidebar badges, and dashboard improvements
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>
2026-02-19 13:03:08 -06:00
|
|
|
data: Partial<
|
|
|
|
|
Pick<
|
|
|
|
|
Company,
|
2026-02-26 16:33:20 -06:00
|
|
|
"name" | "description" | "status" | "budgetMonthlyCents" | "requireBoardApprovalForNewAgents" | "brandColor"
|
UI: approval detail page, agent hiring UX, costs breakdown, sidebar badges, and dashboard improvements
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>
2026-02-19 13:03:08 -06:00
|
|
|
>
|
|
|
|
|
>,
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
) => api.patch<Company>(`/companies/${companyId}`, data),
|
|
|
|
|
archive: (companyId: string) => api.post<Company>(`/companies/${companyId}/archive`, {}),
|
2026-02-17 20:14:05 -06:00
|
|
|
remove: (companyId: string) => api.delete<{ ok: true }>(`/companies/${companyId}`),
|
2026-03-02 16:44:03 -06:00
|
|
|
exportBundle: (companyId: string, data: { include?: { company?: boolean; agents?: boolean } }) =>
|
|
|
|
|
api.post<CompanyPortabilityExportResult>(`/companies/${companyId}/export`, data),
|
|
|
|
|
importPreview: (data: CompanyPortabilityPreviewRequest) =>
|
|
|
|
|
api.post<CompanyPortabilityPreviewResult>("/companies/import/preview", data),
|
|
|
|
|
importBundle: (data: CompanyPortabilityImportRequest) =>
|
|
|
|
|
api.post<CompanyPortabilityImportResult>("/companies/import", data),
|
Overhaul UI with shadcn components and new pages
Add shadcn/ui components (badge, button, card, input, select,
separator). Add company context provider. New pages: Activity,
Approvals, Companies, Costs, Org chart. Restyle existing pages
(Dashboard, Agents, Issues, Goals, Projects) with shadcn components
and dark theme. Update layout, sidebar navigation, and routing.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17 09:07:32 -06:00
|
|
|
};
|