import React from 'react';
import { MDXRemote } from 'next-mdx-remote/rsc';
import { getLocale } from 'next-intl/server';
// Blog components
import TechnicalGrid from './blog/TechnicalGrid';
import Stats from './blog/Stats';
import VisualLinkPreview from './blog/VisualLinkPreview';
import StickyNarrative from './blog/StickyNarrative';
import ComparisonGrid from './blog/ComparisonGrid';
import HighlightBox from './blog/HighlightBox';
import ChatBubble from './blog/ChatBubble';
// Home components
import Hero from './home/Hero';
import ProductCategories from './home/ProductCategories';
import WhatWeDo from './home/WhatWeDo';
import RecentPosts from './home/RecentPosts';
import Experience from './home/Experience';
import WhyChooseUs from './home/WhyChooseUs';
import MeetTheTeam from './home/MeetTheTeam';
import GallerySection from './home/GallerySection';
import VideoSection from './home/VideoSection';
import CTA from './home/CTA';
import { AgbHistoryBlock } from './AgbHistoryBlock';
import { PDFDownloadBlock } from './PDFDownloadBlock';
function ContactSection(props: any) {
return (
Contact Section Placeholder
);
}
function HeroSection(props: any) {
return (
{props.title}
{props.subtitle}
);
}
async function Block(props: any) {
const { type, children } = props;
let { data } = props;
const locale = await getLocale();
// If data was passed as a JSON string (via our lib/blog.ts fix), parse it back
if (typeof data === 'string') {
try {
data = JSON.parse(data);
} catch (e) {
console.error('Failed to parse MDX block data:', e);
}
}
// Normalize type (Payload sometimes uses blockType in data)
const blockType = type || data?.blockType;
switch (blockType) {
// Blog Components
case 'technicalGrid':
return ;
case 'stats':
return ;
case 'visualLinkPreview':
return ;
case 'stickyNarrative':
return ;
case 'comparisonGrid':
return ;
case 'highlightBox':
return {children};
case 'chatBubble':
return {children};
// Home Components
case 'homeHero':
return ;
case 'homeProductCategories':
return ;
case 'homeWhatWeDo':
return ;
case 'homeRecentPosts':
return ;
case 'homeExperience':
return ;
case 'homeWhyChooseUs':
return ;
case 'homeMeetTheTeam':
return ;
case 'homeGallery':
return ;
case 'homeVideo':
return ;
case 'homeCTA':
return ;
case 'agbHistory':
return ;
case 'pdfDownload':
return ;
default:
return (
Unknown Block Type: {blockType}
{JSON.stringify({ type, data: !!data, hasChildren: !!children }, null, 2)}
);
}
}
const components = {
ContactSection,
HeroSection,
Block,
// Add other components that could be in MDX here
};
export default function MDXContent({ data, className }: { data: string; className?: string }) {
if (!data) return null;
return (
);
}