// 'use client';
// import { Swiper, SwiperSlide } from 'swiper/react';
// import { FreeMode } from 'swiper/modules';
// import 'swiper/css';
// import 'swiper/css/free-mode';
// import { IPostThumbResponseData } from '@/app/api/blog/data';
// import { useTranslations } from 'use-intl';
// import routeFactory from '@/assets/constants/routeFactory';
// import { TLocales } from '@/models/layout';
// import PostThumb from './PostThumb';
// interface Props {
// posts: IPostThumbResponseData[];
// locale: TLocales;
// }
// export default function PostsGridViewSlider({ posts, locale }: Props) {
// const t = useTranslations();
// const routes = routeFactory(t, locale);
// return (
//
//
// {posts.map((post) => (
//
//
//
// ))}
//
//
// );
// }
'use client';
import { useEffect, useState } from 'react';
import { Swiper, SwiperSlide } from 'swiper/react';
import { FreeMode } from 'swiper/modules';
import 'swiper/css';
import 'swiper/css/free-mode';
import PostThumb from './PostThumb';
import { IPostThumbResponseData } from '@/app/api/blog/data';
import { TLocales } from '@/models/layout';
import { useTranslations } from 'use-intl';
import routeFactory from '@/assets/constants/routeFactory';
import SliderThumbSkeleton from '@/components/layout/sliderSkeleton';
interface Props {
posts: IPostThumbResponseData[];
locale: TLocales;
}
export default function PostsGridViewSlider({ posts, locale }: Props) {
const [hasMounted, setHasMounted] = useState(false);
const t = useTranslations();
const routes = routeFactory(t, locale);
useEffect(() => {
setHasMounted(true);
}, []);
if (!hasMounted) {
return ;
}
return (
{posts.map((post) => (
))}
);
}