'use client'; import { useUser } from '@auth0/nextjs-auth0/client'; import { useEffect, useState } from 'react'; import Link from 'next/link'; import { Lead } from '@/lib/types'; export default function AdminLeads() { const { user, isLoading } = useUser(); const [leads, setLeads] = useState([]); const [page, setPage] = useState(1); const [pages, setPages] = useState(1); const [total, setTotal] = useState(0); useEffect(() => { if (user) { fetch(`/api/admin/leads?page=${page}`).then((r) => r.json()).then((data) => { setLeads(data.leads); setPages(data.pages); setTotal(data.total); }); } }, [user, page]); if (isLoading) return
Loading...
; if (!user) return
Sign In
; return (

Leads ({total})

← Dashboard
{leads.map((lead) => ( ))} {leads.length === 0 && ( )}
Email Organisation Tool Date
{lead.email} {lead.org_name || '—'} {lead.tool.replace(/-/g, ' ')} {new Date(lead.created_at).toLocaleDateString()}
No leads yet
{pages > 1 && (
{Array.from({ length: pages }, (_, i) => ( ))}
)}
); }