Merge version_4_1777385254133 into main #3

Merged
bender merged 1 commits from version_4_1777385254133 into main 2026-04-28 14:10:49 +00:00
2 changed files with 72 additions and 1 deletions

View File

@@ -0,0 +1,65 @@
import TextAnimation from "@/components/ui/TextAnimation";
import GridOrCarousel from "@/components/ui/GridOrCarousel";
import ScrollReveal from "@/components/ui/ScrollReveal";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
type Pet = {
name: string;
owner: string;
role: string;
imageSrc: string;
};
type TeamPetsProps = {
tag: string;
title: string;
description: string;
pets: Pet[];
};
const TeamPets = ({ tag, title, description, pets }: TeamPetsProps) => {
return (
<section aria-label="Team Pets section" className="py-20">
<div className="flex flex-col gap-8">
<div className="flex flex-col items-center w-content-width mx-auto gap-2">
<span className="px-3 py-1 mb-1 text-sm card rounded">{tag}</span>
<TextAnimation
text={title}
variant="fade-blur"
gradientText={true}
tag="h2"
className="text-6xl font-medium text-center text-balance"
/>
<TextAnimation
text={description}
variant="fade-blur"
gradientText={false}
tag="p"
className="md:max-w-6/10 text-lg leading-tight text-center"
/>
</div>
<ScrollReveal variant="slide-up">
<GridOrCarousel>
{pets.map((pet) => (
<div key={pet.name} className="flex flex-col gap-3 xl:gap-4 2xl:gap-5 p-3 xl:p-4 2xl:p-5 h-full card rounded">
<div className="w-full aspect-square rounded overflow-hidden">
<ImageOrVideo imageSrc={pet.imageSrc} />
</div>
<div className="flex flex-col gap-1 text-center">
<h3 className="text-2xl font-medium">{pet.name}</h3>
<p className="text-base font-medium text-accent">{pet.role}</p>
<p className="text-sm opacity-80">Human: {pet.owner}</p>
</div>
</div>
))}
</GridOrCarousel>
</ScrollReveal>
</div>
</section>
);
};
export default TeamPets;

View File

@@ -7,6 +7,7 @@ import HeroBrand from '@/components/sections/hero/HeroBrand';
import MetricsSimpleCards from '@/components/sections/metrics/MetricsSimpleCards';
import ProductVariantCards from '@/components/sections/product/ProductVariantCards';
import TestimonialOverlayCards from '@/components/sections/testimonial/TestimonialOverlayCards';
import TeamPets from '@/components/sections/team/TeamPets';
export default function HomePage() {
return (
@@ -233,6 +234,11 @@ export default function HomePage() {
imageSrc="https://webuild-dev.s3.eu-north-1.amazonaws.com/default/no-image.jpg?id=xrpk5b"
/>
</div>
</>
<div id="team" data-section="team">
<TeamPets />
</div>
</>
);
}