'use client'; import React, { useState } from 'react'; import { useRouter } from 'next/navigation'; import toast from 'react-hot-toast'; import Link from 'next/link'; import { Toaster } from 'react-hot-toast'; import Cookies from 'js-cookie'; const AdminLoginPage = () => { const router = useRouter(); const [loading, setLoading] = useState(false); const [credentials, setCredentials] = useState({ email: '', password: '' }); const handleChange = (e: React.ChangeEvent) => { setCredentials({ ...credentials, [e.target.name]: e.target.value }); }; const handleLogin = async (e: React.FormEvent) => { e.preventDefault(); setLoading(true); try { const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/admin/login`, { method: 'POST', headers: { 'Content-Type': 'application/json' }, credentials: 'include', body: JSON.stringify({ email: credentials.email, password: credentials.password }) }); const data = await response.json(); if (data.success) { localStorage.setItem('adminToken', data.data.token); localStorage.setItem('adminUser', JSON.stringify(data.data.user)); Cookies.set('adminTokenSync', data.data.token, { expires: 1/6, path: '/', sameSite: 'Strict' }); toast.success('Login successful'); router.push('/admin/dashboard'); } else { toast.error(data.message || 'Login failed'); } } catch (error) { toast.error('Login failed'); console.error('Login error:', error); } finally { setLoading(false); } }; return (

Admin Login

Back to Home
); }; export default AdminLoginPage;