import useShippingTableColumns from "../hooks/shippingTableColumns.tsx"; import { BaseTable } from "../../../../../components/BaseTable/BaseTable.tsx"; import { BoxSchema, ShippingService } from "../../../../../client"; import { ActionIcon, Flex, Tooltip } from "@mantine/core"; import { IconEdit, IconTrash } from "@tabler/icons-react"; import { MRT_TableOptions } from "mantine-react-table"; import { modals } from "@mantine/modals"; import { useDealPageContext } from "../../../contexts/DealPageContext.tsx"; import useUpdateDeal from "../hooks/useUpdateDeal.tsx"; import { notifications } from "../../../../../shared/lib/notifications.ts"; type Props = { items: BoxSchema[]; } const BoxesTable = ({ items }: Props) => { const columns = useShippingTableColumns(); const { update } = useUpdateDeal(); const { selectedDeal: deal } = useDealPageContext(); const onDeleteClick = (box: BoxSchema) => { ShippingService.deleteBox({ boxId: box.id, }) .then(({ ok, message }) => { notifications.guess(ok, { message }); if (ok) update(); }) .catch(err => console.log(err)); }; const onEditClick = (box: BoxSchema) => { if (!deal) return; modals.openContextModal({ modal: "shippingProductModal", title: "Редактирование короба", withCloseButton: false, innerProps: { deal, updateOnSubmit: update, isBox: true, shippingData: { boxId: box.id, productId: box.product.id, quantity: box.quantity, }, }, }); }; return ( ( onDeleteClick(row.original)} variant={"default"}> onEditClick(row.original)} variant={"default"}> ), } as MRT_TableOptions } /> ); }; export default BoxesTable;