import { Box, Drawer, rem, Tabs } from "@mantine/core"; import { FC, ReactNode, useEffect } from "react"; import { useDealPageContext } from "../../contexts/DealPageContext.tsx"; import { IconBox, IconCalendarUser, IconCubeSend, IconSettings, IconUser, IconUsersGroup } from "@tabler/icons-react"; import DealStatusChangeTable from "../../components/DealStatusChangeTable/DealStatusChangeTable.tsx"; import DealEditDrawerGeneralTab from "./tabs/DealEditDrawerGeneralTab.tsx"; import { useQueryClient } from "@tanstack/react-query"; import ProductAndServiceTab from "../../tabs/ProductAndServiceTab/ProductAndServiceTab.tsx"; import { motion } from "framer-motion"; import ShippingTab from "../../tabs/ShippingTab/ShippingTab.tsx"; import EmployeesTab from "../../tabs/EmployeesTab/EmployeesTab.tsx"; import ClientTab from "./tabs/ClientTab.tsx"; const useDealStatusChangeState = () => { const { selectedDeal } = useDealPageContext(); return { statusHistory: selectedDeal?.statusHistory || [], }; }; const DealEditDrawerStatusChangeTable = () => { const { statusHistory } = useDealStatusChangeState(); return ; }; const useDealEditDrawerState = () => { const { selectedDeal, setSelectedDeal } = useDealPageContext(); return { isVisible: selectedDeal !== undefined, onClose: () => setSelectedDeal(undefined), }; }; const DealEditDrawer: FC = () => { const { isVisible, onClose } = useDealEditDrawerState(); const queryClient = useQueryClient(); useEffect(() => { if (isVisible) return; queryClient.invalidateQueries({ queryKey: ["getDealSummaries"] }); }, [isVisible]); const getTabPanel = (value: string, component: ReactNode) => { return ( {component} ); }; return ( }> Общее }> Клиент }> История }> Товары и услуги }> Отгрузка }> Исполнители {getTabPanel("general", )} {getTabPanel("client", )} {getTabPanel("history", )} {getTabPanel("servicesAndProducts", )} {getTabPanel("shipment", )} {getTabPanel("employees", )} ); }; export default DealEditDrawer;