import Image from "next/image"; import Link from "next/link"; import { Check } from "lucide-react"; import type { CmsServiceContent } from "@/types/cms-landing"; const DEFAULT_HEADING = "Innovative solutions for your business growth."; const DEFAULT_BODY = "Professional services tailored to your organization. Update this text from the CMS admin under Content Website → Our Services."; function cardImageUrl(s: CmsServiceContent) { return s.images?.[0]?.image_url?.trim() || "/image/s1.png"; } function resolveServiceLink(raw: string | undefined | null): string | null { const t = raw?.trim(); if (!t) return null; if (/^(https?:|\/|#|mailto:)/i.test(t)) return t; return `https://${t}`; } function LearnMoreCta({ href }: { href?: string | null }) { const resolved = resolveServiceLink(href); const className = "inline-flex text-sm font-semibold text-[#966314] hover:underline focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-[#966314]"; if (!resolved) return null; if (resolved.startsWith("/")) { return ( Learn More → ); } return ( Learn More → ); } function BulletLine({ text }: { text: string }) { const idx = text.indexOf(":"); if (idx > 0 && idx < text.length - 1) { const label = text.slice(0, idx).trim(); const rest = text.slice(idx + 1).trim(); return ( <> {label}: {rest} > ); } return <>{text}>; } function ServiceImageBlock({ imgSrc, alt }: { imgSrc: string; alt: string }) { const external = /^https?:\/\//i.test(imgSrc); return (
{s.secondary_title.trim()}
) : null} {useBullets ? ({bodyText}
)}Our Services
{DEFAULT_BODY}
Our Services