'use client' import { useEffect, useState } from 'react' import Image from 'next/image' import { Header } from '@/components/Header' import { Footer } from '@/components/Footer' import { DomainChecker } from '@/components/DomainChecker' import { useStore } from '@/lib/store' import { api } from '@/lib/api' import { Eye, Bell, Clock, Shield, ArrowRight, Check, TrendingUp, TrendingDown, Minus, Lock, ChevronRight } from 'lucide-react' import Link from 'next/link' import clsx from 'clsx' const features = [ { icon: Eye, title: 'Always Watching', description: 'Daily scans. 886+ TLDs. You sleep, we hunt.', }, { icon: Bell, title: 'Instant Alerts', description: 'Domain drops? You know first. Always.', }, { icon: Clock, title: 'Expiry Intel', description: 'See when domains expire. Plan your move.', }, { icon: Shield, title: 'Your Strategy, Private', description: 'No one sees your watchlist. Ever.', }, ] const tiers = [ { name: 'Scout', price: '0', period: '', description: 'Test the waters. Zero risk.', features: ['5 domains', 'Daily checks', 'Email alerts', 'Basic search'], cta: 'Hunt Free', highlighted: false, }, { name: 'Trader', price: '19', period: '/mo', description: 'Hunt with precision.', features: ['50 domains', 'Hourly checks', 'SMS alerts', 'Domain valuation', 'Portfolio tracking'], cta: 'Start Trading', highlighted: true, }, { name: 'Tycoon', price: '49', period: '/mo', description: 'Dominate the market.', features: ['500 domains', 'Real-time checks', 'API access', 'SEO metrics', 'Bulk tools'], cta: 'Go Tycoon', highlighted: false, }, ] interface TldData { tld: string type: string description: string avg_registration_price: number min_registration_price: number max_registration_price: number trend: string } interface TrendingTld { tld: string reason: string current_price: number price_change: number // API returns price_change, not price_change_percent } // Shimmer component for locked content function ShimmerBlock({ className }: { className?: string }) { return (
) } export default function HomePage() { const { checkAuth, isLoading, isAuthenticated } = useStore() const [tldData, setTldData] = useState([]) const [trendingTlds, setTrendingTlds] = useState([]) const [loadingTlds, setLoadingTlds] = useState(true) useEffect(() => { checkAuth() fetchTldData() }, [checkAuth]) const fetchTldData = async () => { try { const [overview, trending] = await Promise.all([ api.getTldOverview(8), api.getTrendingTlds() ]) setTldData(overview.tlds) setTrendingTlds(trending.trending.slice(0, 4)) } catch (error) { console.error('Failed to fetch TLD data:', error) } finally { setLoadingTlds(false) } } if (isLoading) { return (
) } const getTrendIcon = (priceChange: number) => { if (priceChange > 0) return if (priceChange < 0) return return } const getTrendDirection = (priceChange: number) => { if (priceChange > 0) return 'up' if (priceChange < 0) return 'down' return 'stable' } return (
{/* Ambient background glow */}
{/* Hero Section */}
{/* Puma Logo - Compact & Elegant */}
pounce
{/* Main Headline - RESPONSIVE */}

Others wait. You pounce.

{/* Subheadline - RESPONSIVE */}

Domain intelligence for the decisive. Track any domain. Know the moment it drops. Move before anyone else.

{/* Domain Checker */}
{/* TLD Price Intelligence Section */}
{/* Section Header */}
Market Intel

886 TLDs. Tracked Daily.

See price movements. Spot opportunities. Act fast.

{/* Trending TLDs - Card Grid */}
Trending Now
{loadingTlds ? (
{[...Array(4)].map((_, i) => (
))}
) : (
{trendingTlds.map((item) => (
.{item.tld} 0 ? "text-[#f97316] bg-[#f9731615]" : (item.price_change ?? 0) < 0 ? "text-accent bg-accent-muted" : "text-foreground-muted bg-background-tertiary" )}> {getTrendIcon(item.price_change ?? 0)} {(item.price_change ?? 0) > 0 ? '+' : ''}{(item.price_change ?? 0).toFixed(1)}%

{item.reason}

{isAuthenticated ? ( ${(item.current_price ?? 0).toFixed(2)}/yr ) : ( )}
))}
)}
{/* Login CTA for non-authenticated users */} {!isAuthenticated && (

Unlock Full Data

Sign in for prices, trends, and registrar comparisons.

Get Started Free
)} {/* View All Link */}
Explore All TLDs
{/* Features Section */}

How It Works

Built for hunters.

The tools that give you the edge. Simple. Powerful. Decisive.

{features.map((feature, i) => (

{feature.title}

{feature.description}

))}
{/* Pricing Section */}
{/* Section glow */}

Pricing

Pick your weapon.

Start free. Scale when you're ready.

{tiers.map((tier, i) => (
{tier.highlighted && (
Popular
)}

{tier.name}

{tier.description}

{tier.price === '0' ? ( Free ) : ( <> ${tier.price} {tier.period} )}
    {tier.features.map((feature) => (
  • {feature}
  • ))}
{tier.cta}
))}
{/* CTA Section */}

Start monitoring today

Create a free account and track up to 3 domains. No credit card required.

Get Started Free
) }