From 73b9512f157f7e86273dceb1280275be02634fd0 Mon Sep 17 00:00:00 2001 From: Hermes Date: Thu, 10 Sep 2026 15:04:47 +0200 Subject: [PATCH] =?UTF-8?q?fix(orders):=20=D1=81=D0=BF=D0=B8=D1=81=D0=BE?= =?UTF-8?q?=D0=BA=20=D0=BD=D0=B5=20=D0=BF=D1=83=D1=81=D1=82=D0=B5=D0=B5?= =?UTF-8?q?=D1=82=20=D0=BF=D1=80=D0=B8=20=D0=B2=D0=BE=D0=B7=D0=B2=D1=80?= =?UTF-8?q?=D0=B0=D1=82=D0=B5=20=E2=80=94=20=D0=BA=D1=8D=D1=88=20=D0=BE?= =?UTF-8?q?=D1=82=D0=B4=D0=B0=D1=91=D1=82=20=D0=BE=D0=B1=D1=91=D1=80=D1=82?= =?UTF-8?q?=D0=BA=D1=83=20{data,error},=20=D1=81=D0=BE=D1=81=D1=82=D0=BE?= =?UTF-8?q?=D1=8F=D0=BD=D0=B8=D0=B5=20=D0=BD=D0=B5=20=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D1=80=D0=B0=D0=B5=D1=82=D1=81=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/hooks/useOrderGroups.js | 11 ++++++++--- src/services/supabase/orderGroupRepository.js | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/src/hooks/useOrderGroups.js b/src/hooks/useOrderGroups.js index 657cfb3..17b43c1 100644 --- a/src/hooks/useOrderGroups.js +++ b/src/hooks/useOrderGroups.js @@ -52,7 +52,7 @@ export const useOrderGroups = ({ } setLoadError(""); - if (!enabled) { setOrderGroups([]); setIsLoading(false); return; } + if (!enabled) { setIsLoading(false); return; } // Single-group mode: load only the requested group (avoids pulling all // 430 groups with their full source_orders JSON — 2.6MB — for a detail view). @@ -80,12 +80,17 @@ export const useOrderGroups = ({ if (groupsResult.error) { setLoadError(groupsResult.error?.message || "Не удалось загрузить группы доставки"); - setOrderGroups([]); + // Список не стираем — показываем прежние данные, а не пустой экран. setIsLoading(false); return; } const payload = groupsResult.data || {}; + // Неожиданная форма ответа — тоже не стираем список. + if (!Array.isArray(payload.data)) { + setIsLoading(false); + return; + } setOrderGroups(payload.data || []); setTotalGroups(payload.total ?? (payload.data?.length || 0)); setIsLoading(false); @@ -110,7 +115,7 @@ export const useOrderGroups = ({ } if (cancelled) return; }; - if (enabled) doLoad(); else { setOrderGroups([]); setIsLoading(false); } + if (enabled) doLoad(); else { setIsLoading(false); } return () => { cancelled = true; }; }, [loadLiveData, enabled]); diff --git a/src/services/supabase/orderGroupRepository.js b/src/services/supabase/orderGroupRepository.js index f308348..a7c8dfc 100644 --- a/src/services/supabase/orderGroupRepository.js +++ b/src/services/supabase/orderGroupRepository.js @@ -616,7 +616,7 @@ export const fetchOrderGroups = async ({ if (!forceRefresh) { const cached = orderGroupsCache.get(cacheKey); - if (cached) return cached; + if (cached) return { data: cached, error: null }; } return safeSupabaseCall(async () => {