diff --git a/public/images/gallery/branding.jpg b/public/images/gallery/branding.jpg new file mode 100644 index 0000000..537b3a2 Binary files /dev/null and b/public/images/gallery/branding.jpg differ diff --git a/public/images/gallery/calendar.jpg b/public/images/gallery/calendar.jpg new file mode 100644 index 0000000..afb24a4 Binary files /dev/null and b/public/images/gallery/calendar.jpg differ diff --git a/public/images/gallery/code.jpg b/public/images/gallery/code.jpg new file mode 100644 index 0000000..b5c54fb Binary files /dev/null and b/public/images/gallery/code.jpg differ diff --git a/public/images/gallery/data.jpg b/public/images/gallery/data.jpg new file mode 100644 index 0000000..97a6b92 Binary files /dev/null and b/public/images/gallery/data.jpg differ diff --git a/public/images/gallery/datasets.jpg b/public/images/gallery/datasets.jpg new file mode 100644 index 0000000..eefddb6 Binary files /dev/null and b/public/images/gallery/datasets.jpg differ diff --git a/public/images/gallery/docs.jpg b/public/images/gallery/docs.jpg new file mode 100644 index 0000000..569f9d0 Binary files /dev/null and b/public/images/gallery/docs.jpg differ diff --git a/public/images/gallery/flow.jpg b/public/images/gallery/flow.jpg new file mode 100644 index 0000000..123ad9e Binary files /dev/null and b/public/images/gallery/flow.jpg differ diff --git a/public/images/gallery/interface.jpg b/public/images/gallery/interface.jpg new file mode 100644 index 0000000..c1a8cbe Binary files /dev/null and b/public/images/gallery/interface.jpg differ diff --git a/public/images/gallery/market.jpg b/public/images/gallery/market.jpg new file mode 100644 index 0000000..d42af82 Binary files /dev/null and b/public/images/gallery/market.jpg differ diff --git a/public/images/gallery/structure.jpg b/public/images/gallery/structure.jpg new file mode 100644 index 0000000..5f1949c Binary files /dev/null and b/public/images/gallery/structure.jpg differ diff --git a/public/images/gallery/translate.jpg b/public/images/gallery/translate.jpg new file mode 100644 index 0000000..086118b Binary files /dev/null and b/public/images/gallery/translate.jpg differ diff --git a/src/components/ClickableGallery.tsx b/src/components/ClickableGallery.tsx index 5e16c8d..3da730e 100644 --- a/src/components/ClickableGallery.tsx +++ b/src/components/ClickableGallery.tsx @@ -5,26 +5,25 @@ import Image from 'next/image' import { motion, AnimatePresence, useInView } from 'framer-motion' import { wrap } from 'popmotion' import { Button } from '@/components/Button'; -import { H2, P, H4 } from '@/components/Texts'; +import { H2, P, H4, CT, CP } from '@/components/Texts'; import { TypeAnimation } from 'react-type-animation' const galleryItems = [ - { text: 'Navigate and interact with any web interface', image: '/images/interface.png' }, - { text: 'Process documents across all formats', image: '/images/docs.png' }, - { text: 'Execute multi-step workflows autonomously', image: '/images/flow.png' }, - { text: 'Manage calendars, emails, and tasks', image: '/images/calendar.png' }, - { text: 'Perform deep semantic search across all data sources', image: '/images/data.png' }, - { text: 'Identify patterns in complex datasets', image: '/images/datasets.png' }, - { text: 'Provide real-time market intelligence', image: '/images/market.png' }, - { text: 'Generate and debug code in multiple languages', image: '/images/code.png' }, - { text: 'Create consistent branded content', image: '/images/branding.png' }, - { text: 'Translate and localize materials', image: '/images/translate.png' }, - { text: 'Transform and migrate data structures', image: '/images/structure.png' }, + { text: 'Navigate and interact with any web interface', image: '/images/gallery/interface.jpg', width: 448, height: 277 }, + { text: 'Process documents across all formats', image: '/images/gallery/docs.jpg', width: 448, height: 277 }, + { text: 'Execute multi-step workflows autonomously', image: '/images/gallery/flow.jpg', width: 448, height: 277 }, + { text: 'Manage calendars, emails, and tasks', image: '/images/gallery/calendar.jpg', width: 448, height: 277 }, + { text: 'Perform deep semantic search across all data sources', image: '/images/gallery/data.jpg', width: 448, height: 277 }, + { text: 'Identify patterns in complex datasets', image: '/images/gallery/datasets.jpg', width: 448, height: 277 }, + { text: 'Provide real-time market intelligence', image: '/images/gallery/market.jpg', width: 448, height: 277 }, + { text: 'Generate and debug code in multiple languages', image: '/images/gallery/code.jpg', width: 448, height: 277 }, + { text: 'Create consistent branded content', image: '/images/gallery/branding.jpg', width: 448, height: 277 }, + { text: 'Translate and localize materials', image: '/images/gallery/translate.jpg', width: 448, height: 277 }, + { text: 'Transform and migrate data structures', image: '/images/gallery/structure.jpg', width: 448, height: 277 }, ] // 🔧 Carousel Config const VISIBLE = 4 -const CARD_SIZE = 360 // square size on desktop const GAP = 300 // spacing for larger cards const ROT_Y = 18 const DEPTH = 210 @@ -54,9 +53,9 @@ export function ClickableGallery() { return (
@@ -68,7 +67,7 @@ export function ClickableGallery() {
initial={{ opacity: 0 }}
animate={isInView ? { opacity: 1 } : { opacity: 0 }}
transition={{ duration: 1, delay: 0.4 }}
- className="relative w-full flex items-center justify-center overflow-hidden bg-black pt-0 pb-24"
+ className="relative w-full flex items-center justify-center overflow-hidden bg-transparent -mt-8 pt-0 pb-12"
onMouseEnter={() => setHovering(true)}
onMouseLeave={() => setHovering(false)}
>
@@ -85,33 +84,33 @@ export function ClickableGallery() {
const z = -Math.abs(distance) * DEPTH
const r = distance * ROT_Y
const s = 1 - Math.abs(distance) * SCALE_DROP
- const o = distance === 0 ? 1 : 0.90
+ const o = distance === 0 ? 1 : 0.80
const zIndex = 100 - Math.abs(distance)
return (