Fix: Add base64 placeholder for hero video and squash all massive photo assets down to max 1920px

This commit is contained in:
2026-06-22 23:59:09 +02:00
parent e83d3c0933
commit d65be95e95
75 changed files with 97 additions and 0 deletions

View File

@@ -22,6 +22,8 @@ interface HeroVideoProps {
badge?: string;
}
import placeholders from '@/lib/placeholders.json';
export function HeroVideo(props: HeroVideoProps) {
const { data } = props;
const title = props.title || data?.title || 'DIE EXPERTEN FÜR KABELNETZBAU';
@@ -37,6 +39,7 @@ export function HeroVideo(props: HeroVideoProps) {
const posterSrc = props.backgroundImage?.url || props.posterImage?.url || data?.posterImage?.url || defaultPoster;
const posterAlt = props.backgroundImage?.alt || data?.posterImage?.alt || "E-TIB Gruppe Baustelle";
const blurDataURL = (placeholders as Record<string, string>)[posterSrc] || undefined;
const ctaLabel = props.ctaLabel || props.linkText || data?.ctaLabel || 'Unternehmen entdecken';
const ctaHref = props.ctaHref || props.linkHref || data?.ctaHref || '#unternehmen';
@@ -87,6 +90,8 @@ export function HeroVideo(props: HeroVideoProps) {
className="object-cover z-[1] pointer-events-none filter contrast-125 saturate-110 brightness-90"
sizes="100vw"
priority
placeholder={blurDataURL ? "blur" : "empty"}
blurDataURL={blurDataURL}
/>
{/* Render video on top if available, but defer src to avoid blocking LCP */}