"use client"; import { Pencil, Check } from "lucide-react"; import { cn } from "@/lib/utils"; import type { PlacementStatus } from "@/lib/types/api"; import { PLACEMENT_DEAL_STATUSES, getPlacementStatusIcon, getPlacementStatusColor, } from "@/lib/config/placement-columns"; import { Popover, PopoverContent, PopoverTrigger, } from "@/components/ui/popover"; import { Button } from "@/components/ui/button"; interface PlacementStatusSelectorProps { status: PlacementStatus; isEditing: boolean; canEdit: boolean; onEdit: () => void; onChange: (status: PlacementStatus) => void; onCloseEdit: () => void; } export function PlacementStatusSelector({ status, isEditing, canEdit, onEdit, onChange, onCloseEdit, }: PlacementStatusSelectorProps) { const StatusIcon = getPlacementStatusIcon(status); const statusColor = getPlacementStatusColor(status); if (isEditing) { return ( !open && onCloseEdit()}>
{PLACEMENT_DEAL_STATUSES.map((s) => { const Icon = getPlacementStatusIcon(s); const color = getPlacementStatusColor(s); const isSelected = s === status; return ( ); })}
); } return ( ); }