"use client" import * as React from "react" import { Trash2 } from "lucide-react" import { toast } from "sonner" import { Button } from "@/components/ui/button" import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle } from "@/components/ui/dialog" import { disposeTemplates } from "../actions" import { AddGeneralContractTemplateDialog } from "./add-general-contract-template-dialog" interface GeneralContractTemplateToolbarActionsProps { selectedRows?: any[] onSelectionChange?: (selectedRows: any[]) => void } export function GeneralContractTemplateToolbarActions({ selectedRows = [], onSelectionChange }: GeneralContractTemplateToolbarActionsProps) { const [isDisposeOpen, setIsDisposeOpen] = React.useState(false) // 폐기 버튼 클릭 const handleDispose = () => { if (selectedRows.length === 0) { toast.error("폐기할 문서를 선택해주세요.") return } setIsDisposeOpen(true) } // 실제 폐기 처리 const handleConfirmDispose = async () => { try { // 폐기할 템플릿 ID들 추출 const templateIds = selectedRows.map(row => row.id) // Server Action 호출 const result = await disposeTemplates(templateIds) toast.success(result.message) setIsDisposeOpen(false) // 페이지 새로고침 또는 테이블 업데이트 window.location.reload() } catch (error) { console.error('폐기 처리 오류:', error) toast.error(error instanceof Error ? error.message : "폐기 처리 중 오류가 발생했습니다.") } } return ( <>