"use client"; import { Eye, MoreHorizontal } from "lucide-react"; import { Button } from "@/components/ui/button"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import type * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; import { ComponentProps, PropsWithChildren } from "react"; interface DropdownMenuActionsProps extends ComponentProps { id: Id; showDetail?: boolean | "dropdown-menu"; showEdit?: boolean; showDelete?: boolean; onDetail?: (id: Id) => void; onDelete?: (id: Id) => void; onEdit?: (id: Id) => void; } export function DropdownMenuActions({ id, showDetail, showDelete, showEdit, onDetail, onDelete, onEdit, children, ...rest }: PropsWithChildren>) { return (
{showDetail === true && ( )} {children} {showDetail === "dropdown-menu" && ( onDetail?.(id)}> Detail )} {showEdit && ( onEdit?.(id)}> Edit )} {(showDetail === "dropdown-menu" || showEdit || children) && showDelete && } {showDelete && ( onDelete?.(id)}> Delete ⌘⌫ )}
); }