diff --git a/src/components/dashboard/sidebar.tsx b/src/components/dashboard/sidebar.tsx index b39eb73..b0bc31d 100644 --- a/src/components/dashboard/sidebar.tsx +++ b/src/components/dashboard/sidebar.tsx @@ -10,7 +10,7 @@ import { useQuery } from "@apollo/client"; import { GET_CONVERSATIONS, GET_INCOMING_REQUESTS, - GET_SUPPLY_ORDERS, + GET_PENDING_SUPPLIES_COUNT, } from "@/graphql/queries"; import { Settings, @@ -27,32 +27,21 @@ import { BarChart3, } from "lucide-react"; -// Компонент для отображения уведомлений о новых заявках -function NewOrdersNotification() { - const { user } = useAuth(); - - // Загружаем заказы поставок для поставщика - const { data: ordersData } = useQuery(GET_SUPPLY_ORDERS, { - pollInterval: 30000, // Обновляем каждые 30 секунд для заявок +// Компонент для отображения уведомлений о непринятых поставках +function PendingSuppliesNotification() { + const { data: pendingData } = useQuery(GET_PENDING_SUPPLIES_COUNT, { + pollInterval: 30000, // Обновляем каждые 30 секунд fetchPolicy: "cache-first", errorPolicy: "ignore", - skip: user?.organization?.type !== "WHOLESALE", }); - if (user?.organization?.type !== "WHOLESALE") return null; + const pendingCount = pendingData?.pendingSuppliesCount?.total || 0; - const orders = ordersData?.supplyOrders || []; - // Считаем заявки в статусе PENDING (ожидают одобрения поставщика) - const pendingOrders = orders.filter( - (order) => - order.status === "PENDING" && order.partnerId === user?.organization?.id - ); - - if (pendingOrders.length === 0) return null; + if (pendingCount === 0) return null; return (