import { Metadata } from "next"; import { fetchServiceBySlug } from "../../../../api/servicesApi"; import { notFound } from "next/navigation"; import { imageUrl } from "../../../utils/image"; import Breadcrumb from "../../../components/Breadcrumb"; interface ServiceDetailsPageProps { params: Promise<{ slug: string; }>; } export async function generateMetadata({ params, }: ServiceDetailsPageProps): Promise { try { const { slug } = await params; const data = await fetchServiceBySlug(slug); if (!data || !data.serviceDetails) { return { title: "Service Not Found", description: "The requested service could not be found.", }; } return { title: `${data.serviceDetails.content.title} - Visaway Immigration Services`, description: data.serviceDetails.content.description, }; } catch (error) { return { title: "Service Not Found", description: "The requested service could not be found.", }; } } export default async function ServiceDetailsPage({ params, }: ServiceDetailsPageProps) { try { const { slug } = await params; console.log("Service details page - slug:", slug); const data = await fetchServiceBySlug(slug); if (!data || !data.serviceDetails) { notFound(); } const { serviceDetails } = data; const { content, keyFeatures, faq } = serviceDetails; return ( <> {/* Breadcrumb Section */} {/* Service-details Section Start */}

{content.title}

{content.description}

img

{content.overviewTitle}

{content.overviewDescription}

{content.additionalDescription}

{keyFeatures.title}

    {keyFeatures.items.map( (feature: any, index: number) => (
  • {feature.title} - {feature.description}
  • ), )}
img
img

{faq.title}

{faq.items.map((faqItem: any, index: number) => { const isExpanded = faqItem.isExpanded; const questionNumber = String(index + 1).padStart( 2, "0", ); return (

{faqItem.answer}

); })}
); } catch (error) { console.error("Error loading service details:", error); const { slug } = await params; console.log("Slug that failed:", slug); console.log("Falling back to not found page"); notFound(); } }