import type { Metadata } from "next"; import Link from "next/link"; import { Container } from "@/components/Container"; import { PageHero } from "@/components/layout/PageHero"; import { Placeholder } from "@/components/Placeholder"; import { blogHref, blogImage, fetchBlogs } from "@/lib/blog"; import { blogPosts } from "@/lib/data"; import { faDigits, formatFaDate } from "@/lib/format"; export const revalidate = 60; export const metadata: Metadata = { title: "مقالات", description: "نکتههایی از تعمیرگاه و بورس قطعات لوازم خانگی برادران برقعی.", }; export default async function BlogPage({ searchParams, }: { searchParams: Promise<{ page?: string }>; }) { const { page: pageParam } = await searchParams; const page = Math.max(1, Number(pageParam) || 1); const result = await fetchBlogs({ page, pageSize: 12 }); const usingApi = result.items.length > 0; const pageCount = usingApi ? Math.max(1, Math.ceil((result.total || result.items.length) / (result.pageSize || 12))) : 1; return ( <> {usingApi ? ( <> {result.items.map((post) => ( {formatFaDate(post.publishedAt || post.createdAt)} {post.title} {post.abstract ? ( {post.abstract} ) : null} ))} {pageCount > 1 ? ( {Array.from({ length: pageCount }, (_, index) => { const number = index + 1; return ( {faDigits(number)} ); })} ) : null} > ) : ( {blogPosts.map((post) => ( {post.date} {post.title} {post.excerpt} ))} )} > ); }
{formatFaDate(post.publishedAt || post.createdAt)}
{post.abstract}
{post.date}
{post.excerpt}