--- import BaseLayout from '../../layouts/BaseLayout.astro'; import EpisodeCard from '../../components/episodes/EpisodeCard.astro'; import SeasonFilter from '../../components/episodes/SeasonFilter.astro'; import { getCollection } from 'astro:content'; const allEpisodes = await getCollection('episodes'); const sortedEpisodes = allEpisodes.sort((a, b) => new Date(b.data.pubDate).getTime() - new Date(a.data.pubDate).getTime() ); const seasonMap = new Map(); for (const ep of sortedEpisodes) { const s = ep.data.season; seasonMap.set(s, (seasonMap.get(s) || 0) + 1); } const seasonCounts = Array.from(seasonMap.entries()) .filter(([season]) => season > 0) .sort((a, b) => b[0] - a[0]) .map(([season, count]) => ({ season, count, label: `Season ${season}`, })); const specialCount = seasonMap.get(0) || 0; if (specialCount > 0) { seasonCounts.push({ season: 0, count: specialCount, label: 'Specials' }); } ---

Episodes

{sortedEpisodes.length} episodes
{sortedEpisodes.map((episode) => ( ))}