diff --git a/app/[locale]/[slug]/page.tsx b/app/[locale]/[slug]/page.tsx
index e30e8c478..a32818234 100644
--- a/app/[locale]/[slug]/page.tsx
+++ b/app/[locale]/[slug]/page.tsx
@@ -8,6 +8,8 @@ import { MDXRemote } from 'next-mdx-remote/rsc';
import { SITE_URL } from '@/lib/schema';
import TrackedLink from '@/components/analytics/TrackedLink';
import { getButtonClasses, ButtonOverlay } from '@/components/ui/Button';
+import { getAllReferences } from '@/lib/references';
+import { defaultLocations } from '@/lib/map-data';
// Import components used in MDX
import { HeroVideo as HomeHero } from '@/components/blocks/HeroVideo';
@@ -135,6 +137,30 @@ export default async function Page(props: { params: Promise<{ locale: string; sl
// Determine layout type
const isFullBleed = pageData.frontmatter.layout === 'fullBleed';
+ // Fetch references to enrich the map if it's used
+ const references = await getAllReferences(locale);
+ const enrichedLocations = defaultLocations.map(loc => {
+ if (loc.type === 'project') {
+ const ref = references.find(r => r.slug === loc.id);
+ if (ref) {
+ return {
+ ...loc,
+ featuredImage: ref.frontmatter.featuredImage,
+ details: [
+ ref.frontmatter.client || 'Kunde',
+ ref.frontmatter.dateString || new Date(ref.frontmatter.date).getFullYear().toString(),
+ ],
+ };
+ }
+ }
+ return loc;
+ });
+
+ const pageMdxComponents = {
+ ...mdxComponents,
+ InteractiveGermanyMap: (props: any) =>