gaurv007 commited on
Commit
99d2fd0
·
verified ·
1 Parent(s): 14191f5

fix(nav): proper Supabase error handling + console logs for auth debugging

Browse files
Files changed (1) hide show
  1. web/components/nav.tsx +15 -9
web/components/nav.tsx CHANGED
@@ -36,6 +36,7 @@ export function Nav() {
36
  const { data: { user }, error } = await supabase.auth.getUser();
37
 
38
  if (error || !user) {
 
39
  setUserEmail(null);
40
  setUserRole(null);
41
  setUserTeam(null);
@@ -45,17 +46,21 @@ export function Nav() {
45
 
46
  setUserEmail(user.email || null);
47
 
48
- try {
49
- const { data: profile } = await supabase
50
- .from("profiles")
51
- .select("role, team_id")
52
- .eq("id", user.id)
53
- .single();
54
- setUserRole(profile?.role || "user");
55
- setUserTeam(profile?.team_id || null);
56
- } catch {
57
  setUserRole("user");
58
  setUserTeam(null);
 
 
 
 
59
  }
60
  } catch {
61
  // Supabase client init error (env vars missing)
@@ -75,6 +80,7 @@ export function Nav() {
75
  try {
76
  const supabase = createClient();
77
  const { data } = supabase.auth.onAuthStateChange((event) => {
 
78
  // Re-fetch on any auth event
79
  if (event === "SIGNED_IN" || event === "SIGNED_OUT" || event === "TOKEN_REFRESHED" || event === "INITIAL_SESSION") {
80
  refreshAuth();
 
36
  const { data: { user }, error } = await supabase.auth.getUser();
37
 
38
  if (error || !user) {
39
+ console.log("[ClauseGuard Nav] No user session:", error?.message || "not logged in");
40
  setUserEmail(null);
41
  setUserRole(null);
42
  setUserTeam(null);
 
46
 
47
  setUserEmail(user.email || null);
48
 
49
+ // FIX v4.3: Properly check Supabase error response (it doesn't throw)
50
+ const { data: profile, error: profileError } = await supabase
51
+ .from("profiles")
52
+ .select("role, team_id")
53
+ .eq("id", user.id)
54
+ .single();
55
+
56
+ if (profileError) {
57
+ console.error("[ClauseGuard Nav] Profile fetch error:", profileError.message, profileError.code);
58
  setUserRole("user");
59
  setUserTeam(null);
60
+ } else {
61
+ console.log("[ClauseGuard Nav] Profile loaded:", { role: profile?.role, team_id: profile?.team_id });
62
+ setUserRole(profile?.role || "user");
63
+ setUserTeam(profile?.team_id || null);
64
  }
65
  } catch {
66
  // Supabase client init error (env vars missing)
 
80
  try {
81
  const supabase = createClient();
82
  const { data } = supabase.auth.onAuthStateChange((event) => {
83
+ console.log("[ClauseGuard Nav] Auth state changed:", event);
84
  // Re-fetch on any auth event
85
  if (event === "SIGNED_IN" || event === "SIGNED_OUT" || event === "TOKEN_REFRESHED" || event === "INITIAL_SESSION") {
86
  refreshAuth();