Compare commits

..

25 Commits

Author SHA1 Message Date
kudinDmitriyUp
d277fcfb9c Bob AI: Removed text overlays from portfolio images 2026-06-18 16:36:09 +00:00
46b6b546d9 Merge version_31_1781800498436 into main
Merge version_31_1781800498436 into main
2026-06-18 16:35:16 +00:00
36ed1cc497 Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:35:13 +00:00
775bfc75a6 Merge version_30_1781800479099 into main
Merge version_30_1781800479099 into main
2026-06-18 16:34:55 +00:00
4b76a45580 Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:34:52 +00:00
a50d73de06 Merge version_29_1781800437661 into main
Merge version_29_1781800437661 into main
2026-06-18 16:34:13 +00:00
eff67478d4 Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:34:10 +00:00
37fcb9bc19 Merge version_28_1781800415093 into main
Merge version_28_1781800415093 into main
2026-06-18 16:33:51 +00:00
62971415b8 Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:33:48 +00:00
35c2070b94 Merge version_27_1781800399085 into main
Merge version_27_1781800399085 into main
2026-06-18 16:33:35 +00:00
5c87328646 Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:33:32 +00:00
8c8947d9b9 Merge version_26_1781800219391 into main
Merge version_26_1781800219391 into main
2026-06-18 16:32:11 +00:00
kudinDmitriyUp
df610cf511 Bob AI: Removed the specified image from the portfolio and adjusted 2026-06-18 16:31:34 +00:00
be8f8d43fd Merge version_25_1781800164864 into main
Merge version_25_1781800164864 into main
2026-06-18 16:29:41 +00:00
3bac185dcf Update src/pages/HomePage/sections/Portfolio.tsx 2026-06-18 16:29:37 +00:00
28d9dcff63 Merge version_24_1781800147385 into main
Merge version_24_1781800147385 into main
2026-06-18 16:29:24 +00:00
92c9cbee2e Merge version_23_1781800057886 into main
Merge version_23_1781800057886 into main
2026-06-18 16:27:53 +00:00
4f618d2745 Merge version_22_1781800022363 into main
Merge version_22_1781800022363 into main
2026-06-18 16:27:18 +00:00
62af4db624 Merge version_21_1781799996768 into main
Merge version_21_1781799996768 into main
2026-06-18 16:26:52 +00:00
88dfd15429 Merge version_20_1781799918598 into main
Merge version_20_1781799918598 into main
2026-06-18 16:25:33 +00:00
bd18baf520 Merge version_19_1781799903453 into main
Merge version_19_1781799903453 into main
2026-06-18 16:25:21 +00:00
b743bfe8de Merge version_18_1781799887381 into main
Merge version_18_1781799887381 into main
2026-06-18 16:25:02 +00:00
1be4c0fb54 Merge version_17_1781799830019 into main
Merge version_17_1781799830019 into main
2026-06-18 16:24:05 +00:00
10d72099b3 Merge version_16_1781799804049 into main
Merge version_16_1781799804049 into main
2026-06-18 16:23:38 +00:00
67606a1305 Merge version_15_1781799567165 into main
Merge version_15_1781799567165 into main
2026-06-18 16:20:20 +00:00

View File

@@ -1,57 +1,148 @@
// AUTO-GENERATED by per-section-migrate. Edit freely — Bob will treat this
// file as the canonical source for the "portfolio" section.
/* eslint-disable */
// @ts-nocheck — generated by catalog-eject; runtime-correct but TS strict-mode false-positives on inlined catalog body
import Button from "@/components/ui/Button";
import TextAnimation from "@/components/ui/TextAnimation";
import ImageOrVideo from "@/components/ui/ImageOrVideo";
import ScrollReveal from "@/components/ui/ScrollReveal";
import { cls } from "@/lib/utils";
import React from 'react';
import FeaturesImageBento from '@/components/sections/features/FeaturesImageBento';
import SectionErrorBoundary from "@/components/ui/SectionErrorBoundary";
const items = [
{
title: "TANSIQ ",
description: "",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799797754-ue2qa78d.png"
},
{
title: "Logo Architecture",
description: "Iconic marks for modern brands.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800407915-g3jh718l.png"
},
{
title: "Tech Platform UI",
description: "Next-gen web design experience.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800430594-yagi0yud.png"
},
{
title: "Premium Packaging",
description: "Luxury goods aesthetic design.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799895823-vzrt40vi.png"
},
{
title: "Motion Identity",
description: "Dynamic digital motion assets.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800391811-evdebp0c.png"
},
{
title: "Editorial Grid",
description: "Print and digital magazine layouts.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800015669-szffa47j.png"
}
];
type FeatureItem = {
title: string;
description: string;
href?: string;
} & ({ imageSrc: string; videoSrc?: never } | { videoSrc: string; imageSrc?: never });
interface FeaturesImageBentoProps {
tag: string;
title: string;
description: string;
primaryButton?: { text: string; href: string };
secondaryButton?: { text: string; href: string };
items: [FeatureItem, FeatureItem, FeatureItem, FeatureItem, FeatureItem, FeatureItem];
}
const PortfolioInline = () => {
const gridClasses = [
"md:col-span-2",
"md:col-span-4",
"md:col-span-3",
"md:col-span-3",
"md:col-span-4",
"md:col-span-2",
];
const staggerDelays = [
0,
0.1,
0,
0.1,
0,
0.1,
];
export default function PortfolioSection(): React.JSX.Element {
return (
<div id="portfolio" data-section="portfolio">
<SectionErrorBoundary name="portfolio">
<FeaturesImageBento
tag="Selected Work"
title="Our Creative Portfolio"
description="A curated collection of branding, UI, and packaging design projects."
items={[
{
title: "Corporate Rebrand",
description: "Global identity shift for tech firm.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799797754-ue2qa78d.png",
},
{
title: "Logo Architecture",
description: "Iconic marks for modern brands.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799823757-ixxp1501.png",
},
{
title: "Tech Platform UI",
description: "Next-gen web design experience.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799881010-xyd0zrwo.png",
},
{
title: "Premium Packaging",
description: "Luxury goods aesthetic design.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781799895823-vzrt40vi.png",
},
{
title: "Motion Identity",
description: "Dynamic digital motion assets.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800140343-it0j0m09.png",
},
{
title: "Editorial Grid",
description: "Print and digital magazine layouts.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800015669-szffa47j.png",
},
{
title: "Spatial Branding",
description: "Environmental and event graphics.",
imageSrc: "https://storage.googleapis.com/webild/users/user_3D8oNa3nvt8Cz2KlfMhFTVX9fbI/uploaded-1781800051699-8kgxzui2.png",
},
]}
/>
</SectionErrorBoundary>
<section aria-label="Features image bento section" className="py-20">
<div className="flex flex-col gap-8 md:gap-10">
<div className="flex flex-col items-center w-content-width mx-auto gap-2">
<div className="px-3 py-1 mb-1 text-sm card rounded w-fit">
<p>{"Selected Work"}</p>
</div>
<TextAnimation
text={"Our Creative Portfolio"}
variant="slide-up"
gradientText={true}
tag="h2"
className="md:max-w-8/10 text-6xl 2xl:text-7xl leading-[1.15] font-semibold text-center text-balance"
/>
<TextAnimation
text={"A curated collection of branding, UI, and packaging design projects."}
variant="slide-up"
gradientText={false}
tag="p"
className="md:max-w-7/10 text-lg md:text-xl leading-snug text-center text-balance"
/>
{(undefined || undefined) && (
<div className="flex flex-wrap justify-center gap-3 mt-2 md:mt-3">
{undefined && <Button text={undefined.text} href={undefined.href} variant="primary"/>}
{undefined && <Button text={undefined.text} href={undefined.href} variant="secondary" animationDelay={0.1} />}
</div>
)}
</div>
<div className="w-content-width mx-auto grid grid-cols-1 md:grid-cols-6 gap-3">
{items.map((item, index) => {
const content = (
<div className="relative h-80 xl:h-100 2xl:h-120 overflow-hidden">
<ImageOrVideo
imageSrc={item.imageSrc}
videoSrc={item.videoSrc}
className="rounded group-hover:scale-105 transition-transform duration-500"
/>
</div>
);
return (
<ScrollReveal key={index} variant="fade" delay={staggerDelays[index]} className={cls("col-span-1 group", gridClasses[index])}>
{item.href ? (
<a href={item.href} className="block overflow-hidden rounded">
{content}
</a>
) : (
<div className="overflow-hidden rounded">
{content}
</div>
)}
</ScrollReveal>
);
})}
</div>
</div>
</section>
);
};
export default function PortfolioSection() {
return (
<div data-webild-section="portfolio" id="portfolio">
<PortfolioInline />
</div>
);
}