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;
