feat(ui): finalize E-TIB modernization with footer redesign, video optimization, and TS fixes
Former-commit-id: 67ac02c8404cc66893fdf97308574701cca6000c
This commit is contained in:
@@ -6,6 +6,20 @@ import { motion } from 'framer-motion';
|
||||
import { useState, useEffect } from 'react';
|
||||
|
||||
interface CompetenceBentoGridProps {
|
||||
badge?: string;
|
||||
title?: string;
|
||||
ctaLabel?: string;
|
||||
ctaHref?: string;
|
||||
items?: {
|
||||
title?: string;
|
||||
description?: string;
|
||||
tag?: string;
|
||||
image?: {
|
||||
url?: string;
|
||||
alt?: string;
|
||||
} | any;
|
||||
size?: 'large' | 'medium' | 'small' | 'accent';
|
||||
}[];
|
||||
data?: {
|
||||
badge?: string;
|
||||
title?: string;
|
||||
@@ -24,18 +38,19 @@ interface CompetenceBentoGridProps {
|
||||
};
|
||||
}
|
||||
|
||||
export function CompetenceBentoGrid({ data }: CompetenceBentoGridProps) {
|
||||
export function CompetenceBentoGrid(props: CompetenceBentoGridProps) {
|
||||
const { data } = props;
|
||||
const [isMounted, setIsMounted] = useState(false);
|
||||
|
||||
useEffect(() => {
|
||||
setIsMounted(true);
|
||||
}, []);
|
||||
|
||||
const badge = data?.badge || 'Leistungsspektrum';
|
||||
const title = data?.title || 'Umfassende Lösungen für komplexe Netzwerke';
|
||||
const ctaLabel = data?.ctaLabel || 'Alle Kompetenzen ansehen';
|
||||
const ctaHref = data?.ctaHref || '/kompetenzen';
|
||||
const items = data?.items || [];
|
||||
const badge = props.badge || data?.badge || 'Leistungsspektrum';
|
||||
const title = props.title || data?.title || 'Umfassende Lösungen für komplexe Netzwerke';
|
||||
const ctaLabel = props.ctaLabel || data?.ctaLabel || 'Alle Kompetenzen ansehen';
|
||||
const ctaHref = props.ctaHref || data?.ctaHref || '/kompetenzen';
|
||||
const items = props.items || data?.items || [];
|
||||
|
||||
// Static fallback for SSR
|
||||
if (!isMounted) {
|
||||
@@ -77,7 +92,7 @@ export function CompetenceBentoGrid({ data }: CompetenceBentoGridProps) {
|
||||
const isAccent = item.size === 'accent';
|
||||
const imgSrc = item.image?.url;
|
||||
|
||||
let gridClasses = "rounded-none overflow-hidden relative group ";
|
||||
let gridClasses = "rounded-2xl overflow-hidden relative group ";
|
||||
if (isLarge) gridClasses += "md:col-span-2 md:row-span-2";
|
||||
else if (isMedium) gridClasses += "md:col-span-2 lg:col-span-2";
|
||||
else if (isAccent) gridClasses += "md:col-span-1 bg-primary text-white p-6 md:p-8 flex flex-col justify-center border-none shadow-md";
|
||||
|
||||
Reference in New Issue
Block a user