import { useMemo } from 'react';
import './explore.css';
import { Swiper, SwiperSlide } from 'swiper/react';
import { SwiperOptions } from 'swiper/types';
import { Grid, Pagination, Navigation } from 'swiper/modules';
import { useIsMobile } from '@/hooks/useIsMobile';
import ExploreCard from './+components/ExploreCard';
import ROUTES_OBJECT from '@/routes/RoutesObject';
import TopSlider from './+components/TopSlider';
import { useGetAllSurveyForms } from '@/services/SurveyForm';
import appointmentsIcon from '@/assets/images/glass-icons/appointments.png';
import heartIcon from '@/assets/images/glass-icons/heart.png';
import surveyIcon from '@/assets/images/glass-icons/survey.png';
import reportIcon from '@/assets/images/glass-icons/report.png';
import discountIcon from '@/assets/images/glass-icons/discount.png';
import learnIcon from '@/assets/images/glass-icons/learn.png';
import cardIcon from '@/assets/images/glass-icons/card.png';
import supportIcon from '@/assets/images/glass-icons/support.png';
import shopIcon from '@/assets/images/glass-icons/shop.png';
const sliderProps: SwiperOptions = {
slidesPerView: 1,
grid: { rows: 1, fill: 'row' },
spaceBetween: 0,
modules: [Grid, Pagination, Navigation],
pagination: { clickable: true },
navigation: true,
};
const Explore = () => {
const { data: surveyFormsData } = useGetAllSurveyForms();
const isMobile = useIsMobile();
const itemsPerSlide = isMobile ? 9 : 12;
const exploreCardsData = useMemo(
() => [
{
label: 'وفاداری',
icon: ,
link: ROUTES_OBJECT.loyaltyCards,
tooltip: 'جدید',
},
{
label: 'گزارشها',
icon:
,
link: ROUTES_OBJECT.report,
},
{
label: 'نظرسنجی',
icon:
,
link: ROUTES_OBJECT.surveyForms,
tooltip: 'جدید',
counter: surveyFormsData?.incomplete_count,
},
{
label: 'کیف پول',
icon:
,
link: '',
isLock: true,
},
{
label: 'نوبتهای من',
icon:
,
link: ROUTES_OBJECT.appointments,
tooltip: 'ویژه',
isBold: true,
},
{
label: 'تخفیفکده',
icon:
,
link: '',
isLock: true,
},
{
label: 'فروشگاه',
icon:
,
link: '',
isLock: true,
},
{
label: 'آموزش',
icon:
,
link: '',
isLock: true,
},
{
label: 'پشتیبانی',
icon:
,
link: ROUTES_OBJECT.support,
},
],
[],
);
// eslint-disable-next-line @typescript-eslint/no-explicit-any
const chunkArray = (array: any[], size: number) => {
const result = [];
for (let i = 0; i < array.length; i += size) {
result.push(array.slice(i, i + size));
}
return result;
};
const groupedCards = chunkArray(exploreCardsData, itemsPerSlide);
return (