// ** 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