"use client"; import { motion } from "framer-motion"; import { Code2, Server, Smartphone, Wrench, MessageSquare, FileSearch, Rocket, HeartHandshake, ArrowRight, Check, Clock, Users, Target, } from "lucide-react"; import GlassCard from "@/components/ui/GlassCard"; import GlowButton from "@/components/ui/GlowButton"; import { fadeUp, stagger, viewportConfig } from "@/lib/animations"; import type { Dictionary, Locale } from "@/lib/dictionaries"; interface ServicesContentProps { locale: Locale; dict: Dictionary; } export default function ServicesContent({ locale, dict, }: ServicesContentProps) { const t = dict.servicesPage; return ( <> {/* ──── HERO ──── */} {/* Floating orbs */} {t.badge} {t.heroTitle} {t.heroTitleAccent} {t.heroSubtitle} } > {t.heroCta} {/* ──── SERVICE OFFERINGS ──── */} {t.offeringsLabel} {t.offeringsTitle} {t.offeringsSubtitle} {t.offerings.map((offering, i) => { const icons = [Code2, Server, Smartphone, Wrench]; const Icon = icons[i] || Code2; return ( {offering.title} {offering.description} {offering.includes.map((item, j) => ( {item} ))} ); })} {/* {t.infraBadge} {t.infraTitle} {t.infraParagraphs.map((p, i) => ( {p} ))} {t.infraPoints.map((point, i) => { const pointIcons = [Shield, Truck, Clock]; const PIcon = pointIcons[i] || Shield; return ( {point.title} {point.description} ); })} */} {t.processLabel} {t.processTitle} {t.processSubtitle} {/* Connecting line — desktop only */} {t.processSteps.map((step, i) => { const stepIcons = [MessageSquare, FileSearch, Code2, Rocket, HeartHandshake]; const SIcon = stepIcons[i] || Code2; return ( {/* Step number */} {String(i + 1).padStart(2, "0")} {step.title} {step.description} ); })} {t.pricingLabel} {t.pricingTitle} {t.pricingDescription} {t.pricingPoints.map((point, i) => { const pIcons = [Target, Users, Clock]; const PIcon = pIcons[i] || Target; return ( {point.title} {point.description} ); })} } > {t.pricingCta} > ); }
{offering.description}
{p}
{step.description}
{t.pricingDescription}