import { Box, Card, CardContent, CardMedia, Typography, Container, useMediaQuery, useTheme, Grid, } from "@mui/material"; import { motion, AnimatePresence, PanInfo } from "framer-motion"; import { useState } from "react"; import serviceImage from "../services/Image Wrapper.png"; const services = [ { title: "Design", description: "Lorem ipsum dolor sit amet consectetur. Non aliquam justo hendrerit vitae lacus. Cursus purus dictumst scelerisque vitae ultricies turpis aliquam turpis.", image: `${serviceImage}`, }, { title: "Development", description: "Lorem ipsum dolor sit amet consectetur. Non aliquam justo hendrerit vitae lacus. Cursus purus dictumst scelerisque vitae ultricies turpis aliquam turpis.", image: `${serviceImage}`, }, { title: "Marketing", description: "Lorem ipsum dolor sit amet consectetur. Non aliquam justo hendrerit vitae lacus. Cursus purus dictumst scelerisque vitae ultricies turpis aliquam turpis.", image: `${serviceImage}`, }, ]; const Services = () => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down("md")); const [currentIndex, setCurrentIndex] = useState(0); const [hoveredCard, setHoveredCard] = useState(null); const handleDragEnd = ( event: MouseEvent | TouchEvent | PointerEvent, info: PanInfo ) => { if (info.offset.x > 50) { setCurrentIndex((prev) => (prev === 0 ? services.length - 1 : prev - 1)); } else if (info.offset.x < -50) { setCurrentIndex((prev) => (prev === services.length - 1 ? 0 : prev + 1)); } }; return ( Our Services Professional solutions tailored to your needs {isMobile ? ( {services[currentIndex].title} {services[currentIndex].description} Learn more → {services.map((_, index) => ( setCurrentIndex(index)} whileHover={{ scale: 1.2 }} whileTap={{ scale: 0.9 }} > ))} ) : ( {services.map((service, index) => ( setHoveredCard(index)} onHoverEnd={() => setHoveredCard(null)} style={{ width: "100%", maxWidth: 280 }} > {service.title} {service.description} Learn more → ))} )} ); }; export default Services;