"use client"; import { motion, useReducedMotion } from "framer-motion"; import { cn } from "@/lib/utils"; type MarqueeDirection = "left" | "right"; export type MarqueeRow = { items: string[]; direction: MarqueeDirection; duration?: number; }; type StackedMarqueeSectionProps = { className?: string; rows?: MarqueeRow[]; }; const DEFAULT_ROWS: MarqueeRow[] = [ { direction: "left", duration: 126, items: [ "Next.js", "React", "WordPress", "Docker", "Technical SEO", "Tailwind CSS", "Google Analytics", "Framer Motion", "Cloudflare", "Performance", ], }, { direction: "right", duration: 220, items: [ "TypeScript", "Node.js", "WooCommerce", "Schema Markup", "DevOps", "Responsive Design", "Core Web Vitals", "Plausible Analytics", "Design Systems", "Server Infrastructure", ], }, { direction: "left", duration: 168, items: [ "JavaScript", "REST APIs", "Git", "Linux", "Search Console", "Conversion Tracking", "UI Engineering", "Accessibility", "Component Architecture", "Web Performance", ], }, { direction: "right", duration: 144, items: [ "Frontend Strategy", "CMS Integration", "Motion Design", "Content Architecture", "E-Commerce", "SEO Audits", "Deployments", "Scalable UI", "Analytics Setup", "Product Pages", ], }, ]; function MarqueeRowTrack({ items, direction, duration = 24 }: MarqueeRow) { const shouldReduceMotion = useReducedMotion(); return (