'use client'; import { useState } from 'react'; import Link from 'next/link'; import { Copy, Edit, MoreHorizontal, Share2Icon, Trash2 } from 'lucide-react'; import { useSession } from 'next-auth/react'; import { type FindTemplateRow } from '@documenso/lib/server-only/template/find-templates'; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuLabel, DropdownMenuTrigger, } from '@documenso/ui/primitives/dropdown-menu'; import { DeleteTemplateDialog } from './delete-template-dialog'; import { DuplicateTemplateDialog } from './duplicate-template-dialog'; import { TemplateDirectLinkDialog } from './template-direct-link-dialog'; export type DataTableActionDropdownProps = { row: FindTemplateRow; templateRootPath: string; teamId?: number; }; export const DataTableActionDropdown = ({ row, templateRootPath, teamId, }: DataTableActionDropdownProps) => { const { data: session } = useSession(); const [isDeleteDialogOpen, setDeleteDialogOpen] = useState(false); const [isTemplateDirectLinkDialogOpen, setTemplateDirectLinkDialogOpen] = useState(false); const [isDuplicateDialogOpen, setDuplicateDialogOpen] = useState(false); if (!session) { return null; } const isOwner = row.userId === session.user.id; const isTeamTemplate = row.teamId === teamId; return ( Action Edit setDuplicateDialogOpen(true)} > Duplicate setTemplateDirectLinkDialogOpen(true)}> Direct link setDeleteDialogOpen(true)} > Delete ); };