eletrotupi / tcc/ commit / f037eb7

frontend: refresh local user data from the api after verifying token

Pedro Lucas Porcellis porcellis@eletrotupi.com · 5 months ago f037eb7f05a6223108652e950d9766058a4e7ff0 Browse files
Parents 9671ed4
Changed files
1
Additions
+6
Deletions
-2
frontend/context/AuthContext.tsx
1 1
import React, { createContext, useContext, useEffect, useState } from 'react';
2 2
import { apiClient, User } from '@/lib/api';
3 3

4 4
interface AuthProviderProps {
5 5
  children: React.ReactNode;
40 40

41 41
export const AuthProvider = ({ children }: AuthProviderProps) => {
42 42
  const [user, setUser] = useState<User | null>(null);
43 43
  const [isLoading, setIsLoading] = useState(true);
44 44

45 +
  console.log("user & auth", isAuthenticated, user)
45 46
  const isAuthenticated = !!user;
47 +
  console.log("after user & auth", isAuthenticated, user)
46 48

47 49
  // Check for existing authentication on app start
48 50
  useEffect(() => {
49 51
    checkAuthState();
50 52
  }, []);
51 53

52 54
  const checkAuthState = async () => {
53 55
    try {
54 56
      const { token } = await apiClient.getStoredAuthData();
57 +
      console.log("We have a token?", token);
55 58

56 59
      if (token) {
57 60
        const verifyResponse = await apiClient.verifyToken();
61 +
        console.log("Checking response: ", verifyResponse)
58 62
        if (verifyResponse.valid && verifyResponse.userId && verifyResponse.email) {
59 63
          // TODO: Fetch the full user profile
60 64
          // For now, we'll create a basic user object
61 65
          setUser({
62 66
            id: verifyResponse.userId,
63 67
            email: verifyResponse.email,
64 -
            firstName: '',
65 -
            lastName: undefined,
68 +
            firstName: verifyResponse.user.firstName,
69 +
            lastName: verifyResponse.user.lastName,
66 70
          });
67 71
        }
68 72
      }
69 73
    } catch (error) {
70 74
      console.error('Auth check failed:', error);
139 143
    <AuthContext.Provider value={value}>
140 144
      {children}
141 145
    </AuthContext.Provider>
142 146
  );
143 147
}