import { Code, Copy, CopyPlus, Pencil, Trash2 } from "lucide-react"; export const actions = [ { id: "edit", label: "Edit", icon: Pencil, variant: "default" as const, }, { id: "copy-id", label: "Copy ID", icon: Copy, variant: "default" as const, }, { id: "clone", label: "Clone", icon: CopyPlus, variant: "default" as const, }, { id: "export", label: "Export Code", icon: Code, variant: "default" as const, }, { id: "delete", label: "Delete", icon: Trash2, variant: "destructive" as const, }, ] as const; export type MonitorAction = (typeof actions)[number]; export const getActions = ( props: Partial Promise | void>>, ): (MonitorAction & { onClick?: () => Promise | void })[] => { return actions.map((action) => ({ ...action, onClick: props[action.id as keyof typeof props], })); };