"use client" import { createContext, useContext, useState, useEffect, type ReactNode } from "react" import { useRouter } from "next/navigation" interface AuthContextType { isAuthenticated: boolean isLoading: boolean login: (email: string, password: string) => Promise logout: () => void } const AuthContext = createContext(null) // Mock credentials - replace with real API auth const MOCK_CREDENTIALS = { email: "admin@atticl.com", password: "admin123", } export function AuthProvider({ children }: { children: ReactNode }) { const [isAuthenticated, setIsAuthenticated] = useState(false) const [isLoading, setIsLoading] = useState(true) const router = useRouter() useEffect(() => { // Check for existing session const session = localStorage.getItem("atticl_admin_session") if (session === "authenticated") { setIsAuthenticated(true) } setIsLoading(false) }, []) const login = async (email: string, password: string): Promise => { // Mock API call - replace with real auth await new Promise((resolve) => setTimeout(resolve, 500)) if (email === MOCK_CREDENTIALS.email && password === MOCK_CREDENTIALS.password) { localStorage.setItem("atticl_admin_session", "authenticated") setIsAuthenticated(true) return true } return false } const logout = () => { localStorage.removeItem("atticl_admin_session") setIsAuthenticated(false) router.push("/admin/login") } return {children} } export function useAuth() { const context = useContext(AuthContext) if (!context) { throw new Error("useAuth must be used within an AuthProvider") } return context }