testes/src_2/components/shared/AuthProvider.jsx

26 lines
800 B
JavaScript

import React, { createContext, useContext } from 'react';
import { useAuth } from '@/features/auth/login/useAuth';
// Cria o contexto de autenticação
const AuthContext = createContext(null);
/**
* Provider que disponibiliza o estado de autenticação para toda a aplicação.
* Utiliza o hook `useAuth` (mock) que gerencia login, logout, loading e erro.
*/
export const AuthProvider = ({ children }) => {
const auth = useAuth();
return <AuthContext.Provider value={auth}>{children}</AuthContext.Provider>;
};
// Hook para consumir o contexto de forma simples
export const useAuthContext = () => {
const context = useContext(AuthContext);
if (!context) {
throw new Error('useAuthContext must be used within an AuthProvider');
}
return context;
};
export default AuthProvider;