diff --git a/app/[locale]/referenzen/[slug]/page.tsx b/app/[locale]/referenzen/[slug]/page.tsx
index 2858825d1..8d57cad41 100644
--- a/app/[locale]/referenzen/[slug]/page.tsx
+++ b/app/[locale]/referenzen/[slug]/page.tsx
@@ -67,22 +67,48 @@ export default async function ReferenceDetail(props: { params: Promise<{ locale:
const mdxComponents = {
Heading,
h1: (props: any) => , // Hidden because Hero handles H1
- h2: (props: any) => ,
+ h2: (props: any) => ,
h3: (props: any) => ,
h4: (props: any) => ,
p: (props: any) =>
,
- ul: (props: any) => ,
+ ul: (props: any) => ,
ol: (props: any) =>
,
- li: (props: any) => (
-
-
- {props.children}
-
- ),
+ li: (props: any) => {
+ // Smart Metric Card Logic
+ let text = '';
+ if (typeof props.children === 'string') {
+ text = props.children;
+ } else if (Array.isArray(props.children)) {
+ text = props.children.map((c: any) => typeof c === 'string' ? c : '').join('');
+ }
+
+ const match = text.match(/^([\d.,]+)\s*(m|Satz|Stück|km|kV|Fasern)\b(.*)/);
+
+ if (match && typeof props.children === 'string') {
+ const [, value, unit, rest] = match;
+ return (
+
+
+
+ {value}
+ {unit}
+
+ {rest.replace(/^[\s-]*\s/, '')}
+
+ );
+ }
+
+ return (
+
+
+ {props.children}
+
+ );
+ },
a: (props: any) => ,
strong: (props: any) => ,
blockquote: (props: any) => (
@@ -95,62 +121,62 @@ export default async function ReferenceDetail(props: { params: Promise<{ locale:
return (
{/* Hero Section */}
-
+
{reference.frontmatter.featuredImage && (
)}
-
+
-
+
{t('backToOverview')}
-
-
+
+
{t('projectReference')}
-
+
{reference.frontmatter.title}
-
-
-
+
+
+
-
{t('location')}
-
{reference.frontmatter.location}
+
{t('location')}
+
{reference.frontmatter.location}
-
-
+
+
-
{t('client')}
-
{reference.frontmatter.client}
+
{t('client')}
+
{reference.frontmatter.client}
-
-
+
+
-
{t('period')}
-
{reference.frontmatter.dateString || new Date(reference.frontmatter.date).getFullYear()}
+
{t('period')}
+
{reference.frontmatter.dateString || new Date(reference.frontmatter.date).getFullYear()}
diff --git a/app/[locale]/referenzen/page.tsx b/app/[locale]/referenzen/page.tsx
index b81f814cf..61daf29c5 100644
--- a/app/[locale]/referenzen/page.tsx
+++ b/app/[locale]/referenzen/page.tsx
@@ -85,9 +85,11 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
{references.map((ref) => (
-
{/* Image Section */}
@@ -117,7 +119,7 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
{/* Content Section */}
-
+
{ref.frontmatter.title}
@@ -140,7 +142,7 @@ export default async function ReferenzenOverview(props: { params: Promise<{ loca
-
+
))}
diff --git a/components/blocks/ServiceDetailGrid.tsx b/components/blocks/ServiceDetailGrid.tsx
index f6dc7ebb9..3c3ae93fb 100644
--- a/components/blocks/ServiceDetailGrid.tsx
+++ b/components/blocks/ServiceDetailGrid.tsx
@@ -195,7 +195,7 @@ export function ServiceDetailGrid({
-
{panel.title}
+
{panel.title}