'use client' import { motion } from 'framer-motion' import { useState, useEffect } from 'react' import { TrendingDown, TrendingUp } from 'lucide-react' function resolveHsl(cssVar: string): string { if (typeof window === 'undefined') return 'transparent' const value = getComputedStyle(document.documentElement).getPropertyValue(cssVar).trim() return value ? `hsl(${value})` : 'transparent' } export function SEODemoVisual() { const [phase, setPhase] = useState(0) const [colors, setColors] = useState({ burgundy: '#993350', border: '#27272a', background: '#0c0b09' }) useEffect(() => { setColors({ burgundy: resolveHsl('--burgundy'), border: resolveHsl('--border'), background: resolveHsl('--background'), }) }, []) useEffect(() => { const interval = setInterval(() => { setPhase(p => (p + 1) % 2) }, 3000) return () => clearInterval(interval) }, []) const oldMeta = "Best enterprise software for teams of all sizes. Try free for 30 days." const newMeta = "Best enterprise software for teams of all sizes. Try free for 30 days. Now with AI-powered analytics and real-time collaboration." return (
{/* SERP Result */}
{/* Ranking Indicator */}
google.com/search
Ranking: #{phase === 0 ? '3' : '5'} {phase === 1 && ( )}
{/* SERP Snippet */} {/* URL */}
competitor.com/product
{/* Title */}

Best Enterprise Software Solution 2026

{/* Meta Description with change highlighting */} {phase === 0 ? oldMeta : newMeta} {/* Change indicator */} {phase === 1 && ( Changed )} {/* Alert Badge */} {phase === 1 && ( Meta Description Changed )}
) }