import { notFound } from 'next/navigation';
import { MDXRemote } from 'next-mdx-remote/rsc';
import { getProductBySlug, getAllProducts } from '@/lib/mdx';
import ProductTechnicalData from '@/components/ProductTechnicalData';
import ProductTabs from '@/components/ProductTabs';
import RequestQuoteForm from '@/components/RequestQuoteForm';
import RelatedProducts from '@/components/RelatedProducts';
import Link from 'next/link';
interface ProductPageProps {
params: {
locale: string;
slug: string[];
};
}
const components = {
ProductTechnicalData,
ProductTabs,
p: (props: any) =>
,
table: (props: any) => (
),
};
export default async function ProductPage({ params }: ProductPageProps) {
const { locale, slug } = params;
const productSlug = slug[slug.length - 1];
// Check if it's a category page
const categories = ['low-voltage-cables', 'medium-voltage-cables', 'high-voltage-cables', 'solar-cables'];
if (categories.includes(productSlug)) {
const allProducts = await getAllProducts(locale);
const categoryTitle = productSlug.split('-').map(word => word.charAt(0).toUpperCase() + word.slice(1)).join(' ');
// Filter products for this category
// Note: MDX categories are like "Low Voltage Cables"
const filteredProducts = allProducts.filter(p =>
p.frontmatter.categories.some(cat => cat.toLowerCase().replace(/\s+/g, '-') === productSlug)
);
return (
{categoryTitle}
{filteredProducts.map((product) => (
{product.frontmatter.images?.[0] && (

)}
{product.frontmatter.title}
{product.frontmatter.description}
))}
);
}
const product = await getProductBySlug(productSlug, locale);
if (!product) {
notFound();
}
return (
{product.frontmatter.title}
{product.frontmatter.categories.map((cat, idx) => (
{cat}
))}
{/* Main Content Area */}
{/* Related Products */}
{/* Image Gallery */}
{product.frontmatter.images && product.frontmatter.images.length > 0 && (
{product.frontmatter.images.length > 1 && (
{product.frontmatter.images.slice(1, 5).map((img, idx) => (
))}
)}
)}
{/* Request Quote Form */}
);
}