'use client'; import React, { useState, useEffect, useCallback } from 'react'; import Link from 'next/link'; import { useAuth } from '@/contexts/AuthContext'; import { useRouter } from 'next/navigation'; const SITES = ['broadcastbeat','avbeat','backlotbeat','broadcastengineering']; export default function SendLogPage() { const { user, loading } = useAuth(); const router = useRouter(); const [logs, setLogs] = useState([]); const [loadingData, setLoadingData] = useState(true); const [filterSite, setFilterSite] = useState(''); const [filterStatus, setFilterStatus] = useState(''); useEffect(() => { if (!loading && !user) router.push('/login'); }, [user, loading, router]); const load = useCallback(async () => { setLoadingData(true); const params = new URLSearchParams(); if (filterSite) params.set('site', filterSite); if (filterStatus) params.set('status', filterStatus); const r = await fetch(`/api/email/rmp/send-log?${params}`); const d = await r.json(); setLogs(d.logs ?? []); setLoadingData(false); }, [filterSite, filterStatus]); useEffect(() => { if (user) load(); }, [user, load]); if (loading) return
; if (!user) return null; return (

Email Send Log

← Email
{['Site','Recipient','Subject','Type','Domain','Status','Sent At','Opens','Clicks'].map(h => ( ))} {loadingData ? ( ) : logs.length === 0 ? ( ) : logs.map((l: any) => ( ))}
{h}
Loading…
No send log entries
{l.site} {l.recipient_email} {l.subject ?? '—'} {l.send_type} {l.rmp_email_sending_domains?.domain ?? '—'} {l.status} {l.sent_at ? new Date(l.sent_at).toLocaleString() : '—'} {l.opens} {l.clicks}
); }