diff --git a/src/components/layout/sliderSkeleton/index.tsx b/src/components/layout/sliderSkeleton/index.tsx
new file mode 100644
index 0000000..4962f3c
--- /dev/null
+++ b/src/components/layout/sliderSkeleton/index.tsx
@@ -0,0 +1,21 @@
+'use client';
+
+interface Props {
+ count?: number;
+}
+
+export default function SliderThumbSkeleton({ count = 3 }: Props) {
+ return (
+
+ {Array.from({ length: count }).map((_, i) => (
+
+ ))}
+
+ );
+}
diff --git a/src/components/pages/blog/PostThumb.tsx b/src/components/pages/blog/PostThumb.tsx
index 7c54d29..24baa7f 100644
--- a/src/components/pages/blog/PostThumb.tsx
+++ b/src/components/pages/blog/PostThumb.tsx
@@ -17,7 +17,7 @@ const PostThumb = ({ post, locale }: Props) => {
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 { TLocales } from '@/models/layout';
-import PostThumb from './PostThumb';
+import SliderThumbSkeleton from '@/components/layout/sliderSkeleton';
interface Props {
posts: IPostThumbResponseData[];
@@ -16,8 +60,18 @@ interface Props {
}
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) => (
-
+
))}
diff --git a/src/components/pages/home/HomePageBlog.tsx b/src/components/pages/home/HomePageBlog.tsx
index 14d5a08..ce95817 100644
--- a/src/components/pages/home/HomePageBlog.tsx
+++ b/src/components/pages/home/HomePageBlog.tsx
@@ -28,13 +28,16 @@ export default async function HomePageBlog({ locale, className }: Props) {
{t('com_home_blog_description')}
-
+
+
+
+
diff --git a/src/components/pages/home/Projects.tsx b/src/components/pages/home/Projects.tsx
index f28a9dd..abf4d93 100644
--- a/src/components/pages/home/Projects.tsx
+++ b/src/components/pages/home/Projects.tsx
@@ -29,13 +29,15 @@ export default async function HomePageProjects({ locale }: Props) {
{t('com_home_projects_description')}
-
+
+
+