--- import { type CollectionEntry, getCollection, getEntry } from "astro:content"; import Layout from "@layouts/Layout.astro"; import MemberCard from "@components/MemberCard.astro"; export async function getStaticPaths() { const authors = await getCollection("authors"); return authors.map((member) => ({ params: { slug: member.slug }, props: { member }, })); } type Props = { member: CollectionEntry<"authors">; }; const { member } = Astro.props; const allPosts = await getCollection("blog"); const memberPosts = allPosts .filter((post) => { if (typeof post.data.author === 'string') { return post.data.author === member.data.name && !post.data.draft; } else if (post.data.author && 'slug' in post.data.author) { return post.data.author.slug === member.slug && !post.data.draft; } return false; }) .sort((a, b) => b.data.date.valueOf() - a.data.date.valueOf()); ---