"use client"; import Image from "next/legacy/image"; import Link from "next/link"; import { useMemo } from "react"; import { useServices } from "@/lib/hooks/useServices"; import { serviceUtils } from "@/lib/api/serviceService"; // Default images array for fallback - use string paths const defaultImages = [ "/images/overview/one.png", "/images/overview/two.png", "/images/overview/three.png", "/images/overview/four.png", "/images/overview/five.png" ]; const Overview = () => { // Memoize the parameters to prevent infinite re-renders const serviceParams = useMemo(() => ({ ordering: 'display_order', page: 1 }), []); // Fetch services from API, limit to 5 for overview section const { services, loading, error } = useServices(serviceParams); // Get first 5 services for the overview const displayServices = services.slice(0, 5); return (

Enterprise Solutions That Scale

Our enterprise software development teams deliver mission-critical solutions for Fortune 500 companies. We design, build, and deploy scalable systems that transform your business operations, enhance security, and drive digital innovation across your organization.

EXPLORE SOLUTIONS
{loading ? ( // Loading state
Loading...

Loading services...

) : error ? ( // Error state

Failed to load services. Please try again later.

) : displayServices.length === 0 ? ( // No services state

No services available at the moment.

) : ( // Services list displayServices.map((service, index) => { // Always use hardcoded images, not API images const serviceImage = defaultImages[index] || defaultImages[0]; return (
{service.title}

{service.title}

{service.short_description || service.description}

call_made
); }) )}
); }; export default Overview;