'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { usePortalAuthStore } from '@/lib/portal-auth-store'; export default function PortalLoginPage() { const router = useRouter(); const login = usePortalAuthStore((s) => s.login); const [form, setForm] = useState({ tenantSlug: '', accountNumber: '', password: '' }); const [error, setError] = useState(''); const [loading, setLoading] = useState(false); const handleSubmit = async (e: React.FormEvent) => { e.preventDefault(); setError(''); setLoading(true); try { await login(form.tenantSlug, form.accountNumber, form.password); router.replace('/portal/dashboard'); } catch (err: unknown) { const msg = (err as any)?.response?.data?.message ?? 'Login failed. Check your credentials.'; setError(msg); } finally { setLoading(false); } }; return (

Sign in to your account

Enter your ISP code and account details to continue.

{error && (
{error}
)}
setForm({ ...form, tenantSlug: e.target.value })} placeholder="e.g. demo-isp" style={inputStyle} />
setForm({ ...form, accountNumber: e.target.value })} placeholder="e.g. ACC-2025-0001" style={inputStyle} />
setForm({ ...form, password: e.target.value })} placeholder="••••••••" style={inputStyle} />
); } const inputStyle: React.CSSProperties = { width: '100%', padding: '9px 12px', border: '1px solid #D1D5DB', borderRadius: 8, fontSize: 14, color: '#0F172A', backgroundColor: '#ffffff', outline: 'none', boxSizing: 'border-box', };