From 9fbab07e1a2d852d4b8db57d85aa87cef631c8ea Mon Sep 17 00:00:00 2001 From: DanielS Date: Wed, 24 Jun 2026 13:31:30 +0200 Subject: [PATCH] fix: resolve header logout state synchronization issue --- shop/components/NavbarClient.tsx | 11 ++++++++++- shop/components/admin/logout-menu-item.tsx | 6 +++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/shop/components/NavbarClient.tsx b/shop/components/NavbarClient.tsx index 83f052c..4c4d476 100644 --- a/shop/components/NavbarClient.tsx +++ b/shop/components/NavbarClient.tsx @@ -28,6 +28,11 @@ export function NavbarClient({ user, role = "partner" }: NavbarClientProps) { setPathname(window.location.pathname); }, []); + useEffect(() => { + setCurrentUser(user); + setUserRole(role); + }, [user, role]); + // Supabase URL & Anon Key auslesen (für Browser-Client) const supabaseUrl = process.env.SUPABASE_URL || process.env.NEXT_PUBLIC_SUPABASE_URL; const supabaseAnonKey = process.env.SUPABASE_ANON_KEY || process.env.NEXT_PUBLIC_SUPABASE_PUBLISHABLE_KEY || process.env.NEXT_PUBLIC_SUPABASE_ANON_KEY; @@ -78,7 +83,11 @@ export function NavbarClient({ user, role = "partner" }: NavbarClientProps) { } catch (e) { console.error("Fehler beim Server-Signout:", e); } - await supabase.auth.signOut(); + try { + await supabase.auth.signOut(); + } catch (e) { + console.error("Fehler beim Client-Signout:", e); + } setCurrentUser(null); setIsMobileMenuOpen(false); router.push("/"); diff --git a/shop/components/admin/logout-menu-item.tsx b/shop/components/admin/logout-menu-item.tsx index dbffe2e..c0685db 100644 --- a/shop/components/admin/logout-menu-item.tsx +++ b/shop/components/admin/logout-menu-item.tsx @@ -30,7 +30,11 @@ export function AdminLogoutButton() { } catch (error) { console.error("Fehler beim Abmelden:", error); } - await supabase.auth.signOut(); + try { + await supabase.auth.signOut(); + } catch (e) { + console.error("Fehler beim Client-Signout:", e); + } router.push("/"); router.refresh(); };