---
import { type CollectionEntry, getCollection, render } from "astro:content";
import BlogPost from "../../layouts/BlogPost.astro";

export async function getStaticPaths() {
  const posts = await getCollection("blog");

  return posts
    .filter((p) => !(((p.data as any).draft) ?? false))
    .map((post) => ({
      params: { slug: post.id },
      props: post,
    }));
}

type Props = CollectionEntry<"blog">;

const post = Astro.props as Props;
const { Content } = await render(post);
---

<BlogPost {...post.data}>
  <Content />
</BlogPost>
