// ** React Imports import { useState } from 'react' // ** MUI Imports import Box from '@mui/material/Box' import Card from '@mui/material/Card' import Grid from '@mui/material/Grid' import Badge from '@mui/material/Badge' import Button from '@mui/material/Button' import { useTheme } from '@mui/material/styles' import Typography from '@mui/material/Typography' import CardHeader from '@mui/material/CardHeader' import CardContent from '@mui/material/CardContent' // ** Third Party Components import clsx from 'clsx' import { useKeenSlider } from 'keen-slider/react' // ** Icon Imports import Icon from 'src/@core/components/icon' // ** Custom Components Imports import CustomAvatar from 'src/@core/components/mui/avatar' interface SwiperData { img: string title: string details: { [key: string]: string } } const data: SwiperData[] = [ { title: 'Marketing Expense', img: '/images/cards/marketing-expense-logo.png', details: { Operating: '5k', Financial: '2k', COGF: '6k', Expense: '1k' } }, { title: 'Accounting', img: '/images/cards/accounting-logo.png', details: { Billing: '18', Sales: '28', Leads: '30', Impression: '80' } }, { title: 'Sales Overview', img: '/images/cards/sales-overview-logo.png', details: { Open: '68', Converted: '52', Lost: '04', Quotations: '12' } } ] const Slides = () => { return ( <> {data.map((slide: SwiperData, index: number) => { return ( {slide.title} {Object.keys(slide.details).map((key: string, index: number) => ( {slide.details[key]} {key} ))}
) })} ) } const CardStatisticsMarketingSales = () => { // ** States const [loaded, setLoaded] = useState(false) const [currentSlide, setCurrentSlide] = useState(0) // ** Hook const theme = useTheme() const [sliderRef, instanceRef] = useKeenSlider({ initial: 0, rtl: theme.direction === 'rtl', slides: { spacing: 16 }, slideChanged(slider) { setCurrentSlide(slider.track.details.rel) }, created() { setLoaded(true) } }) return ( Total 245.8k Sales +25%
} action={ loaded && instanceRef.current && ( {[...Array(instanceRef.current.track.details.slides.length).keys()].map(idx => { return ( { instanceRef.current?.moveToIdx(idx) }} sx={{ mr: theme => `${theme.spacing(2.5)} !important`, '& .MuiBadge-dot': { height: '6px !important', width: '6px !important', minWidth: '6px !important' } }} > ) })} ) } /> ) } export default CardStatisticsMarketingSales