diff --git a/src/components/pages/project/ProjectThumb.tsx b/src/components/pages/project/ProjectThumb.tsx index 749b247..e983d3b 100644 --- a/src/components/pages/project/ProjectThumb.tsx +++ b/src/components/pages/project/ProjectThumb.tsx @@ -1,3 +1,5 @@ +'use client'; + import Image from 'next/image'; import Link from 'next/link'; import Button from '@/components/uikit/button'; @@ -11,12 +13,13 @@ interface Props { locale: TLocales; } -const ProjectThumb = ({ project, locale }: Props) => { +export default function ProjectThumb({ project, locale }: Props) { const t = useTranslations(); const routes = routeFactory(t, locale); + return (
-
+
{project.title} { className="h-auto w-full object-cover" />
-
@@ -38,6 +41,4 @@ const ProjectThumb = ({ project, locale }: Props) => {
); -}; - -export default ProjectThumb; +} diff --git a/src/components/pages/project/projectsGridSlider.tsx b/src/components/pages/project/projectsGridSlider.tsx index 5074ee8..e54bcf1 100644 --- a/src/components/pages/project/projectsGridSlider.tsx +++ b/src/components/pages/project/projectsGridSlider.tsx @@ -1,22 +1,36 @@ '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 ProjectThumb from './ProjectThumb'; -import { TLocales } from '@/models/layout'; + import { IProjectThumbResponseData } from '@/app/api/projects/data'; +import { TLocales } from '@/models/layout'; +import SliderThumbSkeleton from '@/components/layout/sliderSkeleton'; + +interface Props { + projects: IProjectThumbResponseData[]; + locale: TLocales; + className?: string; +} export default function ProjectsGridSlider({ projects, locale, className = '', -}: { - projects: IProjectThumbResponseData[]; - locale: TLocales; - className?: string; -}) { +}: Props) { + const [hasMounted, setHasMounted] = useState(false); + + useEffect(() => { + setHasMounted(true); + }, []); + + if (!hasMounted) return ; + return (
{projects.map((project) => ( - + ))}