import type { Metadata } from "next"; import Link from "next/link"; import { Media } from "@/components/Media"; import { PageHero } from "@/components/PageHero"; import { Pagination } from "@/components/Pagination"; import { getBlogs } from "@/lib/api"; import { mapBlog } from "@/lib/mappers"; import { SITE } from "@/lib/site"; export const metadata: Metadata = { title: `وبلاگ | ${SITE.nameFa}`, description: "مقالات کوهنوردی، کمپینگ و راهنمای خرید لوازم ورزشی از سالار استور", alternates: { canonical: "/blog" }, }; type Props = { searchParams: Promise<{ page?: string }>; }; export default async function BlogPage({ searchParams }: Props) { const { page: pageParam } = await searchParams; const page = Math.max(1, Number(pageParam) || 1); let data: Awaited> = { items: [], total: 0, page, pageSize: 12 }; try { data = await getBlogs({ page, pageSize: 12 }); } catch { data = { items: [], total: 0, page, pageSize: 12 }; } const posts = data.items.map(mapBlog); return ( <>
{posts.length ? (
{posts.map((post) => (

{post.title}

{post.abstract ? (

{post.abstract}

) : null}
))}
) : (

مقاله‌ای یافت نشد.

)} (nextPage > 1 ? `/blog?page=${nextPage}` : "/blog")} />
); }