From bb8d20a8535cd3cd9728fb1b4fa9c67f755e5f91 Mon Sep 17 00:00:00 2001 From: houseassassin Date: Thu, 7 May 2026 20:16:44 +0300 Subject: [PATCH] fix: move refreshBadge into effect, add logout error handling Co-Authored-By: Claude Sonnet 4.6 --- src/admin/layout/AdminLayout.jsx | 29 ++++++++++++++++------------- src/admin/layout/Sidebar.jsx | 6 +++++- 2 files changed, 21 insertions(+), 14 deletions(-) diff --git a/src/admin/layout/AdminLayout.jsx b/src/admin/layout/AdminLayout.jsx index 8a140be..1d6a25e 100644 --- a/src/admin/layout/AdminLayout.jsx +++ b/src/admin/layout/AdminLayout.jsx @@ -16,15 +16,15 @@ const AdminLayout = () => { const [showNewOrder, setShowNewOrder] = useState(false); const [newCount, setNewCount] = useState(0); - const refreshBadge = () => { - supabase - .from('orders') - .select('id', { count: 'exact', head: true }) - .eq('status', 'новая') - .then(({ count }) => setNewCount(count || 0)); - }; - useEffect(() => { + const refreshBadge = () => { + supabase + .from('orders') + .select('id', { count: 'exact', head: true }) + .eq('status', 'новая') + .then(({ count }) => setNewCount(count || 0)); + }; + refreshBadge(); const channel = supabase .channel('badge-count') @@ -50,11 +50,14 @@ const AdminLayout = () => { {title} {newCount > 0 && ( - + {newCount} новых )} diff --git a/src/admin/layout/Sidebar.jsx b/src/admin/layout/Sidebar.jsx index 4c7a570..60c93a2 100644 --- a/src/admin/layout/Sidebar.jsx +++ b/src/admin/layout/Sidebar.jsx @@ -14,7 +14,11 @@ const Sidebar = () => { const navigate = useNavigate(); const handleLogout = async () => { - await logout(); + try { + await logout(); + } catch (err) { + console.error('Logout failed:', err); + } navigate('/admin/login'); };