diff --git a/app/[locale]/products/page.tsx b/app/[locale]/products/page.tsx index f45f2a58..e054c9b8 100644 --- a/app/[locale]/products/page.tsx +++ b/app/[locale]/products/page.tsx @@ -1,5 +1,4 @@ import Reveal from '@/components/Reveal'; -import Scribble from '@/components/Scribble'; import { Badge, Button, Card, Container, Heading, Section } from '@/components/ui'; import { getTranslations, setRequestLocale } from 'next-intl/server'; import { Metadata } from 'next'; @@ -95,7 +94,7 @@ export default async function ProductsPage({ params }: ProductsPageProps) { return (
{/* Hero Section */} -
+
{t.rich('title', { - green: (chunks) => ( - - {chunks} - - - ), + green: (chunks) => {chunks}, })}

@@ -223,7 +214,7 @@ export default async function ProductsPage({ params }: ProductsPageProps) {

-

+

{t('cta.title')}

diff --git a/app/[locale]/team/page.tsx b/app/[locale]/team/page.tsx index 69ae418d..d97773f6 100644 --- a/app/[locale]/team/page.tsx +++ b/app/[locale]/team/page.tsx @@ -122,12 +122,12 @@ export default async function TeamPage({ params }: TeamPageProps) { {t('michael.role')} - + {t('michael.name')}

-

+

{t('michael.quote')}

@@ -156,6 +156,7 @@ export default async function TeamPage({ params }: TeamPageProps) { alt={t('michael.name')} fill className="object-cover scale-105 hover:scale-100 transition-transform duration-1000" + quality={100} sizes="(max-width: 1024px) 100vw, 50vw" />
@@ -225,6 +226,7 @@ export default async function TeamPage({ params }: TeamPageProps) { alt={t('klaus.name')} fill className="object-cover scale-105 hover:scale-100 transition-transform duration-1000" + quality={100} sizes="(max-width: 1024px) 100vw, 50vw" />
@@ -235,12 +237,12 @@ export default async function TeamPage({ params }: TeamPageProps) { {t('klaus.role')} - + {t('klaus.name')}
-

+

{t('klaus.quote')}

diff --git a/components/PayloadRichText.tsx b/components/PayloadRichText.tsx index 87a0d999..c050199f 100644 --- a/components/PayloadRichText.tsx +++ b/components/PayloadRichText.tsx @@ -69,7 +69,12 @@ const jsxConverters: JSXConverters = { if (node.format & 2) content = {content}; if (node.format & 8) content = {content}; if (node.format & 4) content = {content}; - if (node.format & 16) content = {content}; + if (node.format & 16) + content = ( + + {content} + + ); if (node.format & 32) content = {content}; if (node.format & 64) content = {content}; } @@ -93,23 +98,23 @@ const jsxConverters: JSXConverters = { const textContent = node.children ? node.children.map((c: any) => c.text || '').join('') : ''; const id = textContent ? textContent - .toLowerCase() - .replace(/ä/g, 'ae') - .replace(/ö/g, 'oe') - .replace(/ü/g, 'ue') - .replace(/ß/g, 'ss') - .replace(/[*_`]/g, '') - .replace(/[^\w\s-]/g, '') - .replace(/\s+/g, '-') - .replace(/-+/g, '-') - .replace(/^-+|-+$/g, '') + .toLowerCase() + .replace(/ä/g, 'ae') + .replace(/ö/g, 'oe') + .replace(/ü/g, 'ue') + .replace(/ß/g, 'ss') + .replace(/[*_`]/g, '') + .replace(/[^\w\s-]/g, '') + .replace(/\s+/g, '-') + .replace(/-+/g, '-') + .replace(/^-+|-+$/g, '') : undefined; if (tag === 'h1') return (

{children}

@@ -118,7 +123,7 @@ const jsxConverters: JSXConverters = { return (

{children}

@@ -127,7 +132,7 @@ const jsxConverters: JSXConverters = { return (

{children}

diff --git a/components/home/Experience.tsx b/components/home/Experience.tsx index 58d17a69..4db9c584 100644 --- a/components/home/Experience.tsx +++ b/components/home/Experience.tsx @@ -15,6 +15,7 @@ export default function Experience({ data }: { data?: any }) { fill className="object-cover object-center scale-105 animate-slow-zoom" sizes="100vw" + quality={100} />
diff --git a/components/home/Hero.tsx b/components/home/Hero.tsx index 20284d68..778dc134 100644 --- a/components/home/Hero.tsx +++ b/components/home/Hero.tsx @@ -1,6 +1,5 @@ 'use client'; -import Scribble from '@/components/Scribble'; import { Button, Container, Heading, Section } from '@/components/ui'; import { useTranslations, useLocale } from 'next-intl'; import dynamic from 'next/dynamic'; @@ -20,45 +19,19 @@ export default function Hero({ data }: { data?: any }) {
{data?.title ? ( - <> - {data.title.split(/(.*?<\/green>)/g).map((part: string, i: number) => { - if (part.startsWith('') && part.endsWith('')) { - const content = part.replace(/<\/?green>/g, ''); - return ( - - - {content} - -
- -
-
- ); - } - return {part}; - })} - + /g, '') + .replace(/<\/green>/g, ''), + }} + /> ) : ( t.rich('title', { - green: (chunks) => ( - - - {chunks} - -
- -
-
- ), + green: (chunks) => {chunks}, }) )}
diff --git a/components/home/MeetTheTeam.tsx b/components/home/MeetTheTeam.tsx index e0f16dd5..c1e5a71f 100644 --- a/components/home/MeetTheTeam.tsx +++ b/components/home/MeetTheTeam.tsx @@ -17,6 +17,7 @@ export default function MeetTheTeam({ data }: { data?: any }) { fill className="object-cover scale-105 animate-slow-zoom" sizes="100vw" + quality={100} />
diff --git a/components/home/VideoSection.tsx b/components/home/VideoSection.tsx index e8c74b82..c7e997ee 100644 --- a/components/home/VideoSection.tsx +++ b/components/home/VideoSection.tsx @@ -1,7 +1,6 @@ 'use client'; import React, { useState, useEffect, useRef } from 'react'; -import Scribble from '@/components/Scribble'; import { useTranslations } from 'next-intl'; export default function VideoSection({ data }: { data?: any }) { @@ -41,18 +40,16 @@ export default function VideoSection({ data }: { data?: any }) {

{data?.title ? ( - /g, '').replace(/<\/future>/g, '') }} /> + /g, '') + .replace(/<\/future>/g, ''), + }} + /> ) : ( t.rich('title', { - future: (chunks) => ( - - {chunks} - - - ), + future: (chunks) => {chunks}, }) )}

diff --git a/package.json b/package.json index 74fe8c67..84d3f6ed 100644 --- a/package.json +++ b/package.json @@ -139,7 +139,7 @@ "prepare": "husky", "preinstall": "npx only-allow pnpm" }, - "version": "2.2.10", + "version": "2.2.11", "pnpm": { "onlyBuiltDependencies": [ "@parcel/watcher", @@ -161,4 +161,4 @@ "peerDependencies": { "lucide-react": "^0.563.0" } -} \ No newline at end of file +}