import { useState, useEffect } from 'react' import { useParams } from 'react-router-dom' import api from '../api' import './CrawlDetail.css' export default function CrawlDetail() { const { id } = useParams() const [crawl, setCrawl] = useState(null) const [loading, setLoading] = useState(true) useEffect(() => { api.fetchCrawlById(id).then( (data) => { setCrawl(data) setLoading(false) } ).catch(() => { setLoading(false) }) }, [id]) if (loading) return
Loading crawl details...
if (!crawl) return
Crawl not found
const screenshotUrl = crawl.screenshot_path ? `/screenshots/${crawl.screenshot_path}` : null return (

Crawl Details

{crawl.status}

{crawl.site_name}

URL: {crawl.url}

Crawled at: {new Date(crawl.crawled_at).toLocaleString()}

Casinos Found: {crawl.casinos?.length || 0}

{crawl.screenshot_path && (

Screenshot

{`Screenshot
)}

Casino Rankings

{crawl.casinos?.map((casino) => ( ))}
# Casino Name Bonus / Offer Link
{casino.position} {casino.favicon_url && } {casino.casino_name} {casino.bonus_offer || '-'} {casino.url ? Open : '-'}
) }