diff --git a/src/components/custom/ImageBentoGallery.tsx b/src/components/custom/ImageBentoGallery.tsx new file mode 100644 index 0000000..a2e353f --- /dev/null +++ b/src/components/custom/ImageBentoGallery.tsx @@ -0,0 +1,63 @@ +import { motion } from "motion/react"; +import { cn } from "@/lib/utils"; + +interface ImageBentoGalleryProps { + title?: string; + description?: string; + images: { + src: string; + alt: string; + className?: string; + }[]; +} + +export default function ImageBentoGallery({ + title, + description, + images, +}: ImageBentoGalleryProps) { + return ( +
+
+
+ {title && ( +

+ {title} +

+ )} + {description && ( +

+ {description} +

+ )} +
+ + {images.map((image, index) => ( +
+ {image.alt} +
+

{image.alt}

+
+
+ ))} +
+
+
+ ); +} diff --git a/src/pages/HomePage.tsx b/src/pages/HomePage.tsx index a103e9c..3216bc5 100644 --- a/src/pages/HomePage.tsx +++ b/src/pages/HomePage.tsx @@ -6,6 +6,7 @@ import HeroBillboardBrand from '@/components/sections/hero/HeroBillboardBrand'; import MetricsIconCards from '@/components/sections/metrics/MetricsIconCards'; import ProductMediaCards from '@/components/sections/product/ProductMediaCards'; import TestimonialMetricsCards from '@/components/sections/testimonial/TestimonialMetricsCards'; +import ImageBentoGallery from '@/components/custom/ImageBentoGallery'; import { Cake, Timer, Users } from "lucide-react"; import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary"; @@ -141,6 +142,23 @@ export default function HomePage() { + +