import React, { createContext, useState, useEffect } from 'react' import { authAPI } from '../services/api' import toast from 'react-hot-toast' export const AuthContext = createContext(null) export const AuthProvider = ({ children }) => { const [user, setUser] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { checkAuth() }, []) const checkAuth = async () => { try { const response = await authAPI.getCurrentUser() setUser(response.data) } catch (error) { setUser(null) } finally { setLoading(false) } } const login = async (credentials) => { try { const response = await authAPI.login(credentials) setUser(response.data) toast.success('Welcome back!') return response.data } catch (error) { throw error } } const register = async (userData) => { try { const response = await authAPI.register(userData) setUser(response.data) toast.success('Account created successfully!') return response.data } catch (error) { throw error } } const logout = async () => { try { await authAPI.logout() setUser(null) toast.success('Logged out successfully') } catch (error) { console.error('Logout error:', error) } } return ( {children} ) }