import BlogsClient from '@/src/components/blogs/blogsClient';
import { getPosts } from '@/src/lib/catalog';

export const dynamic = 'force-dynamic';

export const metadata = {
    title: 'مجله شاپیوا | جدیدترین مقالات و مطالب آموزشی',
    description: 'مجله شاپیوا با جدیدترین مقالات در زمینه تکنولوژی، خرید آنلاین، راهنمای محصولات و نکات کاربردی. مطالعه کنید و یاد بگیرید.',
    keywords: 'مجله, مقالات, تکنولوژی, خرید آنلاین, راهنما, شاپیوا, وبلاگ',
    openGraph: {
        title: 'مجله شاپیوا',
        description: 'جدیدترین مقالات و مطالب آموزشی شاپیوا',
        url: 'https://shopeiva.ir/blogs',
        images: [{ url: '/images/og/blogs.jpg', width: 1200, height: 630, alt: 'مجله شاپیوا' }],
        locale: 'fa_IR',
        type: 'website',
    },
    twitter: {
        card: 'summary_large_image',
        title: 'مجله شاپیوا',
        description: 'جدیدترین مقالات و مطالب آموزشی شاپیوا',
        images: ['/images/og/blogs.jpg'],
    },
    alternates: { canonical: 'https://shopeiva.ir/blogs' },
    robots: {
        index: true,
        follow: true,
    },
};

export default async function BlogPage() {
    const posts = await getPosts();
    const blogsLd = {
        '@context': 'https://schema.org',
        '@type': 'CollectionPage',
        mainEntity: {
            '@type': 'ItemList',
            itemListElement: posts.map((p, i) => ({
                '@type': 'ListItem',
                position: i + 1,
                item: {
                    '@type': 'BlogPosting',
                    headline: p.title,
                    description: p.excerpt,
                    image: p.coverImage || p.image,
                    datePublished: p.publishedAt || p.date,
                    author: { '@type': 'Person', name: typeof p.author === 'string' ? p.author : p.author?.name || 'شاپیوا' },
                }
            }))
        },
        name: 'مجله شاپیوا | جدیدترین مقالات و مطالب آموزشی',
        description: 'جدیدترین مقالات در زمینه تکنولوژی، خرید آنلاین، راهنمای محصولات و نکات کاربردی',
    };

    return (
        <>
            <script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(blogsLd) }} />
            <BlogsClient />
        </>
    );
}
