"use client"; import { useState } from "react"; import { useRouter } from "next/navigation"; const RESULT_LIMIT = 10; const MAX_COST_USD = 0.1; export function ApifyEmptySearch({ query }: { query: string }) { const router = useRouter(); const [busy, setBusy] = useState(false); const [message, setMessage] = useState(""); const [error, setError] = useState(false); async function importFromApify() { if (!window.confirm(`“${query}” için Apify'dan en fazla ${RESULT_LIMIT} reklam getirilsin mi? Harcama üst sınırı $${MAX_COST_USD.toFixed(2)}.`)) return; setBusy(true); setMessage(""); try { const response = await fetch("/api/admin/ingest/apify", { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ searchTerms: [query], country: "ALL", adActiveStatus: "ACTIVE", mediaType: "ALL", maxResults: RESULT_LIMIT, maxCostUsd: MAX_COST_USD, scrapeAdDetails: true, includeAboutPage: false }) }); const data = await response.json().catch(() => ({})); if (!response.ok) throw new Error(data.error || "APIFY_INGEST_FAILED"); setError(false); setMessage(`${data.imported} reklam işlendi. Sonuçlar yenileniyor…`); router.refresh(); } catch (caught) { setError(true); setMessage(caught instanceof Error ? caught.message : "Apify içe aktarması başarısız oldu."); } finally { setBusy(false); } } return (

“{query}” için kayıtlı reklam bulunamadı

Bu arama önce WinningHunter veritabanını kontrol eder. Yeni Meta reklamlarını Apify üzerinden getirip aynı aramaya ekleyebilirsiniz.

Harcama üst sınırı: $0.10 · Yalnızca yöneticiler

{message &&

{message}

}
); }