#help me on this please,

1 messages · Page 1 of 1 (latest)

clear geyser
#

maybe it is a simple question, but I searched and tried many ways, how we can get local api data by a dynamic category like query params.

quiet trailBOT
clear geyser
#

import { CardsCollection } from "@/components/CardsCollection"
import { PageRange } from "@/components/PageRange"
import BlogsHeader from "@/components/BlogsHeader"
import { Pagination } from "@/components/Pagination/"
import { subpagesMetadata } from "@/data/config/siteMetadata"
import { Container } from "@/components/UI"
import { fetchBlogsByCategory } from "@/utils/fetchBlogsByCategory"

export const dynamic = "force-static"
export const revalidate = 600

export default async function Page({
searchParams,
}: {
searchParams: { category?: string; page?: string }
}) {
const category = searchParams.category || null
const page = searchParams.page ? Number.parseInt(searchParams.page, 10) : 1
const limit = 12

const blogs = await fetchBlogsByCategory({
    categories: category ? [category] : [],
    page,
    limit,
})

return (
    <Container className="pt-24 pb-24">
        <BlogsHeader />
        <PageRange collection="blogs" currentPage={blogs.page} limit={limit} totalDocs={blogs.totalDocs} />
        <CardsCollection blogs={blogs.docs} />
        {blogs.totalPages > 1 && blogs.page && (
            <Pagination
                page={blogs.page}
                totalPages={blogs.totalPages}
            />
        )}
    </Container>
)

}

export const metadata = {
title: subpagesMetadata.blogTitle,
}