From c8225176949ffd6ff761fe657b2336f1bd537995 Mon Sep 17 00:00:00 2001 From: Yves Gugger Date: Thu, 18 Dec 2025 15:57:36 +0100 Subject: [PATCH] feat(yield): Add Verify DNS button for pending domains --- frontend/src/app/terminal/yield/page.tsx | 81 ++++++++++++++++++++---- 1 file changed, 68 insertions(+), 13 deletions(-) diff --git a/frontend/src/app/terminal/yield/page.tsx b/frontend/src/app/terminal/yield/page.tsx index 1757f00..4beae7d 100644 --- a/frontend/src/app/terminal/yield/page.tsx +++ b/frontend/src/app/terminal/yield/page.tsx @@ -503,6 +503,7 @@ export default function YieldPage() { const [refreshing, setRefreshing] = useState(false) const [menuOpen, setMenuOpen] = useState(false) const [deletingId, setDeletingId] = useState(null) + const [verifyingId, setVerifyingId] = useState(null) const tier = (subscription?.tier || 'scout').toLowerCase() const tierName = subscription?.tier_name || (tier.charAt(0).toUpperCase() + tier.slice(1)) @@ -531,6 +532,23 @@ export default function YieldPage() { } }, [fetchDashboard]) + const handleVerifyDNS = useCallback(async (domainId: number, domainName: string) => { + setVerifyingId(domainId) + try { + const res = await api.verifyYieldDomainDNS(domainId) + if (res.verified) { + alert(`✅ ${domainName} is now active! Your landing page is live.`) + fetchDashboard() + } else { + alert(`⏳ DNS not yet propagated for ${domainName}. Please wait 5-15 minutes and try again.`) + } + } catch (err: any) { + alert(`❌ DNS verification failed: ${err.message || 'Unknown error'}`) + } finally { + setVerifyingId(null) + } + }, [fetchDashboard]) + useEffect(() => { fetchDashboard() }, [fetchDashboard]) useEffect(() => { @@ -673,7 +691,7 @@ export default function YieldPage() { ) : (
{/* Header */} -
+
Domain
Status
Intent
@@ -736,22 +754,41 @@ export default function YieldPage() { {domain.total_clicks} clicks ${domain.total_revenue}
- )} - + +
{/* Desktop */} -
+
{domain.domain}
@@ -789,7 +826,25 @@ export default function YieldPage() {
{domain.total_clicks}
{domain.total_conversions}
${domain.total_revenue}
-
+
+ {/* Verify DNS Button - only for pending domains */} + {domain.status === 'pending' && ( + + )}