'use client'; import { createContext, useContext, useState, useEffect, ReactNode } from 'react'; interface AdminContextType { isAuthenticated: boolean; login: (username: string, password: string) => boolean; logout: () => void; } const AdminContext = createContext(undefined); // Demo credentials - In production, use proper authentication const ADMIN_USERNAME = 'admin'; const ADMIN_PASSWORD = 'admin123'; export function AdminProvider({ children }: { children: ReactNode }) { const [isAuthenticated, setIsAuthenticated] = useState(false); useEffect(() => { const authStatus = localStorage.getItem('adminAuth'); if (authStatus === 'true') { setIsAuthenticated(true); } }, []); const login = (username: string, password: string): boolean => { if (username === ADMIN_USERNAME && password === ADMIN_PASSWORD) { setIsAuthenticated(true); localStorage.setItem('adminAuth', 'true'); return true; } return false; }; const logout = () => { setIsAuthenticated(false); localStorage.removeItem('adminAuth'); }; return ( {children} ); } export function useAdmin() { const context = useContext(AdminContext); if (context === undefined) { throw new Error('useAdmin must be used within an AdminProvider'); } return context; }