"use client"; import { useState } from "react"; import type { IssueStatus, UpdateIssueRequest } from "@multica/core/types"; import { ALL_STATUSES, STATUS_CONFIG } from "@multica/core/issues/config"; import { StatusIcon } from "../status-icon"; import { PropertyPicker, PickerItem } from "./property-picker"; export function StatusPicker({ status, onUpdate, trigger: customTrigger, triggerRender, open: controlledOpen, onOpenChange: controlledOnOpenChange, align, }: { status: IssueStatus; onUpdate: (updates: Partial) => void; trigger?: React.ReactNode; triggerRender?: React.ReactElement; open?: boolean; onOpenChange?: (v: boolean) => void; align?: "start" | "center" | "end"; }) { const [internalOpen, setInternalOpen] = useState(false); const open = controlledOpen ?? internalOpen; const setOpen = controlledOnOpenChange ?? setInternalOpen; const cfg = STATUS_CONFIG[status]; return ( {cfg.label} ) } > {ALL_STATUSES.map((s) => { const c = STATUS_CONFIG[s]; return ( { onUpdate({ status: s }); setOpen(false); }} > {c.label} ); })} ); }