'use client'; import Link from 'next/link'; import { useJobs } from '@/contexts/JobsContext'; import { JobStatus } from '@/components/ScraperTest'; function extractBusinessName(job: JobStatus): string { if (job.business_name) return job.business_name; try { const urlObj = new URL(job.url); const query = urlObj.searchParams.get('query'); return query ? decodeURIComponent(query) : 'Unknown Business'; } catch { return 'Unknown Business'; } } export default function AnalyticsPage() { const { jobs, isLoading } = useJobs(); // Filter to only completed jobs with reviews const completedJobs = jobs .filter(j => j.status === 'completed' && j.reviews_count && j.reviews_count > 0) .sort((a, b) => new Date(b.created_at).getTime() - new Date(a.created_at).getTime()); if (isLoading) { return (
{completedJobs.length} completed {completedJobs.length === 1 ? 'scrape' : 'scrapes'} with reviews
Complete a scrape job to see analytics
Start New Scrape