"use client" import { useRef, useState } from "react" import { Globe, Cloud, Wrench, ArrowUpRight, Bot } from "lucide-react" const services = [ { icon: Globe, title: "Web Development", description: "Expert website design and maintenance for WordPress, Squarespace, Wix, Shopify, eCommerce, custom frontend code and more.", features: ["WordPress", "Squarespace", "Shopify", "Custom Code", "eCommerce", "Maintenance"], number: "01" }, { icon: Cloud, title: "Cloud Hosting", description: "Fast, easy hosting for WordPress, game servers and more, proudly hosted here in New Zealand by Cloudrite.", features: ["NZ Hosted", "WordPress Hosting", "Game Servers", "Fast & Secure", "24/7 Uptime", "Easy Setup"], number: "02" }, { icon: Wrench, title: "I.T Support & Repairs", description: "Our tech experts can help you with all of your I.T problems, from emails and cloud to printers and full computer repairs.", features: ["Email Setup", "Cloud Solutions", "Printer Support", "Computer Repairs", "Network Setup", "Remote Support"], number: "03" }, { icon: Bot, title: "AI Solutions", description: "Harness the power of artificial intelligence for your business — from intelligent chatbots and automation to custom AI integrations that save time and boost productivity.", features: ["AI Chatbots", "Workflow Automation", "AI Integrations", "Custom Agents", "Document AI", "Consulting"], number: "04" } ] function ServiceCard({ service, index }: { service: typeof services[0]; index: number }) { const [isHovered, setIsHovered] = useState(false) const cardRef = useRef(null) const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 }) const handleMouseMove = (e: React.MouseEvent) => { if (cardRef.current) { const rect = cardRef.current.getBoundingClientRect() setMousePosition({ x: e.clientX - rect.left, y: e.clientY - rect.top, }) } } const Icon = service.icon return (
setIsHovered(true)} onMouseLeave={() => setIsHovered(false)} onMouseMove={handleMouseMove} className="group relative bg-card border border-border rounded-2xl p-8 lg:p-10 transition-all duration-500 hover:border-primary/50 overflow-hidden" style={{ animationDelay: `${index * 150}ms`, }} > {/* Hover glow effect */}
{/* Number */} {service.number} {/* Icon */}
{/* Content */}

{service.title}

{service.description}

{/* Features */}
{service.features.map((feature, i) => ( {feature} ))}
{/* Bottom border animation */}
) } export function Services() { return (
{/* Background */}
{/* Section Header */}
What We Do

Your Complete I.T Partner

We handle everything tech so you can focus on running your business. From building your online presence to keeping your systems running smoothly.

{/* Services Grid */}
{services.map((service, index) => ( ))}
) }