---
import { SITE, BLOG } from '~/config.mjs';

import Layout from '~/layouts/PageLayout.astro';
import BlogList from '~/components/blog/List.astro';
import Headline from '~/components/blog/Headline.astro';
import Pagination from '~/components/common/Pagination.astro';

import { fetchPosts } from '~/utils/blog';
import { BLOG_BASE } from '~/utils/permalinks';

export async function getStaticPaths({ paginate }) {
  if (BLOG?.disabled || BLOG?.list?.disabled) return [];
  return paginate(await fetchPosts(), {
    params: { blog: BLOG_BASE || undefined },
    pageSize: BLOG.postsPerPage,
  });
}

const { page } = Astro.props;
const currentPage = page.currentPage ?? 1;

const meta = {
  title: `Blog${currentPage > 1 ? ` — Page ${currentPage}` : ''}`,
  description: SITE.description,
  noindex: BLOG?.list?.noindex || currentPage > 1,
  ogType: 'blog',
};
---

<Layout {meta}>
  <section class="px-6 sm:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-4xl">
    <Headline
      subtitle="A statically generated blog example with news, tutorials, resources and other interesting content related to AstroWind"
    >
      The Blog
    </Headline>
    <BlogList posts={page.data} />
    <Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
  </section>
</Layout>
