From 84438f14925788bb35ab4ba646252f5a1c1747aa Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Fri, 23 Jan 2026 12:07:11 +0100 Subject: [PATCH] json schema --- app/[locale]/blog/[slug]/page.tsx | 1 + app/[locale]/contact/page.tsx | 17 +++++++++++++++++ app/[locale]/layout.tsx | 1 + app/[locale]/page.tsx | 16 ++++++++++++++++ app/[locale]/products/[...slug]/page.tsx | 1 + app/[locale]/team/page.tsx | 1 + 6 files changed, 37 insertions(+) diff --git a/app/[locale]/blog/[slug]/page.tsx b/app/[locale]/blog/[slug]/page.tsx index 2b027c03..a9246a60 100644 --- a/app/[locale]/blog/[slug]/page.tsx +++ b/app/[locale]/blog/[slug]/page.tsx @@ -1,5 +1,6 @@ import { notFound } from 'next/navigation'; import Script from 'next/script'; +import JsonLd from '@/components/JsonLd'; import { MDXRemote } from 'next-mdx-remote/rsc'; import { getPostBySlug, getAdjacentPosts, getReadingTime, getHeadings } from '@/lib/blog'; import { Metadata } from 'next'; diff --git a/app/[locale]/contact/page.tsx b/app/[locale]/contact/page.tsx index 896e3931..bf42721e 100644 --- a/app/[locale]/contact/page.tsx +++ b/app/[locale]/contact/page.tsx @@ -1,6 +1,7 @@ import { useTranslations } from 'next-intl'; import { getTranslations } from 'next-intl/server'; import { Metadata } from 'next'; +import JsonLd from '@/components/JsonLd'; import { Section, Container, Button, Heading, Card, Input, Textarea, Label } from '@/components/ui'; interface ContactPageProps { @@ -37,9 +38,25 @@ export async function generateMetadata({ params: { locale } }: ContactPageProps) export default function ContactPage() { const t = useTranslations('Contact'); + const locale = t('locale') || 'en'; // Fallback if needed, but usually passed via params return (
+ {/* Hero Section */}
diff --git a/app/[locale]/layout.tsx b/app/[locale]/layout.tsx index d418ef0f..7ad4d345 100644 --- a/app/[locale]/layout.tsx +++ b/app/[locale]/layout.tsx @@ -6,6 +6,7 @@ import Footer from '@/components/Footer'; import UmamiScript from '@/components/analytics/UmamiScript'; import AnalyticsProvider from '@/components/analytics/AnalyticsProvider'; import { Metadata, Viewport } from 'next'; +import JsonLd from '@/components/JsonLd'; export async function generateMetadata({params: {locale}}: {params: {locale: string}}): Promise { const t = await getTranslations({locale, namespace: 'Index.meta'}); diff --git a/app/[locale]/page.tsx b/app/[locale]/page.tsx index a6fae1bd..ff2c42dd 100644 --- a/app/[locale]/page.tsx +++ b/app/[locale]/page.tsx @@ -1,4 +1,5 @@ import Hero from '@/components/home/Hero'; +import JsonLd from '@/components/JsonLd'; import ProductCategories from '@/components/home/ProductCategories'; import WhatWeDo from '@/components/home/WhatWeDo'; import RecentPosts from '@/components/home/RecentPosts'; @@ -13,6 +14,21 @@ import Reveal from '@/components/Reveal'; export default function HomePage({ params: { locale } }: { params: { locale: string } }) { return (
+ diff --git a/app/[locale]/products/[...slug]/page.tsx b/app/[locale]/products/[...slug]/page.tsx index 19c36378..cec164b6 100644 --- a/app/[locale]/products/[...slug]/page.tsx +++ b/app/[locale]/products/[...slug]/page.tsx @@ -1,4 +1,5 @@ import Script from 'next/script'; +import JsonLd from '@/components/JsonLd'; import ProductSidebar from '@/components/ProductSidebar'; import ProductTabs from '@/components/ProductTabs'; import ProductTechnicalData from '@/components/ProductTechnicalData'; diff --git a/app/[locale]/team/page.tsx b/app/[locale]/team/page.tsx index c8a68231..759c3207 100644 --- a/app/[locale]/team/page.tsx +++ b/app/[locale]/team/page.tsx @@ -1,6 +1,7 @@ import { useTranslations } from 'next-intl'; import { getTranslations } from 'next-intl/server'; import { Metadata } from 'next'; +import JsonLd from '@/components/JsonLd'; import { Section, Container, Heading, Badge, Button } from '@/components/ui'; import Image from 'next/image'; import Reveal from '@/components/Reveal';