From 1d606fe88f97f87e32a58b1b187a71f40c70169c Mon Sep 17 00:00:00 2001 From: Rafi Zadanly Date: Wed, 29 Mar 2023 14:29:29 +0700 Subject: blog detail --- src/pages/blog/index.jsx | 90 +++++++++++++++++++++--------------------------- 1 file changed, 40 insertions(+), 50 deletions(-) (limited to 'src/pages/blog/index.jsx') diff --git a/src/pages/blog/index.jsx b/src/pages/blog/index.jsx index c755ec82..041fc046 100644 --- a/src/pages/blog/index.jsx +++ b/src/pages/blog/index.jsx @@ -1,74 +1,64 @@ import BasicLayout from '@/core/components/layouts/BasicLayout' -import { Card, Spinner } from 'flowbite-react' import Link from 'next/link' -import { useCallback, useEffect, useState } from 'react' import { createSlug } from '@/core/utils/slug' -import useDevice from '@/core/hooks/useDevice' -import Image from 'next/image' -import odooApi from '@/core/api/odooApi' +import Image from '@/core/components/elements/Image/Image' +import useBlogs from '@/lib/blog/hooks/useBlogs' +import { useRouter } from 'next/router' +import Pagination from '@/core/components/elements/Pagination/Pagination' +import Spinner from '@/core/components/elements/Spinner/Spinner' export default function Blogs() { - const [isLoading, setIsLoading] = useState(true) - const [blogsValues, setBlogs] = useState([]) - const { isMobile } = useDevice() + const router = useRouter() + const limit = 16 - const getBlogs = useCallback(async () => { - // setIsLoading(true) - const result = await odooApi('GET', '/api/v1/blog') - setBlogs(result.blogs) - setIsLoading(false) - }, []) + const { page = 1 } = router.query + const { blogs } = useBlogs({ limit, offset: limit * (page - 1) }) - useEffect(() => { - getBlogs() - }, [getBlogs]) + const pageCount = Math.ceil(blogs?.data?.blogTotal / limit) - if (isLoading) { - return ( - <> - -
- -
-
- - ) - } return ( -
-
-

Blog Indoteknik

-
-
- {blogsValues?.map((blog, index) => { +
+

Blog Indoteknik

+ + {blogs.isLoading && ( +
+ +
+ )} + +
+ {blogs.data?.blogs?.map((blog, index) => { return (
- {blog.title} -
- - {blog.category.name} - + + {blog.title} + +
+
{blog.category.name}
{blog.title} -

- {blog.postDate} -

+
{blog.postDate}
) })}
+ +
) -- cgit v1.2.3