feat: add public instructor profiles
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
import React, { createContext, useContext, useState, useEffect } from 'react';
|
||||
import { User, UserRole } from '../types';
|
||||
import { authApi, clearSession, getSession, saveSession } from '../services/api';
|
||||
import { ApiUser, authApi, clearSession, getSession, saveSession } from '../services/api';
|
||||
|
||||
interface AuthContextType {
|
||||
user: User | null;
|
||||
login: (email: string, password: string) => Promise<User | null>;
|
||||
register: (name: string, email: string, password: string) => Promise<User | null>;
|
||||
logout: () => void;
|
||||
updateCurrentUser: (user: ApiUser) => void;
|
||||
isLoading: boolean;
|
||||
}
|
||||
|
||||
@@ -67,8 +68,14 @@ export const AuthProvider: React.FC<{ children: React.ReactNode }> = ({ children
|
||||
clearSession();
|
||||
};
|
||||
|
||||
const updateCurrentUser = (apiUser: ApiUser) => {
|
||||
const session = getSession();
|
||||
if (session) saveSession({ ...session, user: apiUser });
|
||||
setUser(toFrontendUser(apiUser));
|
||||
};
|
||||
|
||||
return (
|
||||
<AuthContext.Provider value={{ user, login, register, logout, isLoading }}>
|
||||
<AuthContext.Provider value={{ user, login, register, logout, updateCurrentUser, isLoading }}>
|
||||
{children}
|
||||
</AuthContext.Provider>
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user