"use client" import { useEffect, useRef, useState } from "react" import { Button } from "@/components/ui/button" import { ArrowRight, ChevronDown } from "lucide-react" import Link from "next/link" function FloatingElement({ delay = 0, duration = 20, children, className = "" }: { delay?: number duration?: number children: React.ReactNode className?: string }) { return (
{children}
) } function GridPattern() { return (
) } function AnimatedText({ text, className = "" }: { text: string; className?: string }) { const [isVisible, setIsVisible] = useState(false) const ref = useRef(null) useEffect(() => { const timer = setTimeout(() => setIsVisible(true), 300) return () => clearTimeout(timer) }, []) return (
{text}
) } export function Hero() { const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }) const containerRef = useRef(null) useEffect(() => { const handleMouseMove = (e: MouseEvent) => { if (containerRef.current) { const rect = containerRef.current.getBoundingClientRect() setMousePosition({ x: (e.clientX - rect.left - rect.width / 2) / 50, y: (e.clientY - rect.top - rect.height / 2) / 50, }) } } window.addEventListener("mousemove", handleMouseMove) return () => window.removeEventListener("mousemove", handleMouseMove) }, []) return (
{/* Background Elements */} {/* Floating decorative elements */}
{/* Glow effect */}
{/* Badge */}
Auckland, New Zealand
{/* Main Heading */}

{/* Subtitle */}

From websites and cloud infrastructure to computer repairs and I.T support — we help small businesses thrive in the digital world.

{/* CTA Buttons */}
{/* Stats */}
{[ { value: "100+", label: "Happy Clients" }, { value: "24/7", label: "Support" }, { value: "NZ", label: "Based Hosting" }, { value: "10+", label: "Years Experience" }, ].map((stat, index) => (
{stat.value}
{stat.label}
))}
{/* Scroll indicator */}
Scroll
) }