diff --git a/src/components/sections/services-section.tsx b/src/components/sections/services-section.tsx index b29d6f3..b7fb1f8 100644 --- a/src/components/sections/services-section.tsx +++ b/src/components/sections/services-section.tsx @@ -2,11 +2,12 @@ import { motion } from 'framer-motion'; import { useInView } from 'framer-motion'; -import { useRef } from 'react'; +import { useRef, useState } from 'react'; import { Code, Cloud, BarChart3, Shield, ArrowRight } from 'lucide-react'; import { Card, CardContent } from '@/components/ui/card'; import { Button } from '@/components/ui/button'; import { SERVICES } from '@/lib/constants'; +import { ServiceDetailModal } from '@/components/services/service-detail-modal'; const iconMap: Record> = { Code, @@ -18,6 +19,13 @@ const iconMap: Record> = { export function ServicesSection() { const ref = useRef(null); const isInView = useInView(ref, { once: true, margin: '-100px' }); + const [selectedServiceId, setSelectedServiceId] = useState(null); + const [isModalOpen, setIsModalOpen] = useState(false); + + const handleServiceClick = (serviceId: string) => { + setSelectedServiceId(serviceId); + setIsModalOpen(true); + }; return (
@@ -49,6 +57,7 @@ export function ServicesSection() { whileInView={{ opacity: 1, y: 0 }} viewport={{ once: true }} transition={{ duration: 0.5, delay: index * 0.1 }} + onClick={() => handleServiceClick(service.id)} > @@ -76,6 +85,14 @@ export function ServicesSection() { + + {selectedServiceId && ( + + )}
); }