"use client" import * as React from "react" import { type Table } from "@tanstack/react-table" import { Download } from "lucide-react" import { toast } from "sonner" import { useRouter } from "next/navigation" import { exportTableToExcel } from "@/lib/export" import { Button } from "@/components/ui/button" import { InviteVendorsDialog } from "@/lib/rfqs-tech/tbe-table/invite-vendors-dialog" import { VendorWithTbeFields } from "@/config/vendorTbeColumnsConfig" interface VendorsTableToolbarActionsProps { table: Table rfqId: number } export function VendorsTableToolbarActions({ table, rfqId }: VendorsTableToolbarActionsProps) { const router = useRouter() const invitationPossibleVendors = React.useMemo(() => { const selectedRows = table.getSelectedRowModel().rows; const vendors = selectedRows.map(row => row.original); const rfqIds = new Set(vendors.map(vendor => vendor.rfqId)); if (rfqIds.size > 1) { toast.error("동일한 rfq에 대해 초대가 가능합니다"); return []; } return vendors.filter(vendor => vendor.technicalResponseStatus === null); }, [table.getSelectedRowModel().rows]); const selectedRfqId = invitationPossibleVendors[0]?.rfqId ?? 0; console.log("selectedRfqId", selectedRfqId) return (
{invitationPossibleVendors.length > 0 && ( { table.toggleAllRowsSelected(false); router.refresh(); }} showTrigger={true} /> )}
) }