import { Metadata } from 'next' import Link from 'next/link' import { Post, getPostSlugs, loadSinglePage } from "~/utils/post" import styles from "~/styles/index.module.css" export const metadata: Metadata = { title: 'All posts' } export default async function Index() { const slugs = await getPostSlugs() const posts = await Promise.all(slugs.map(loadSinglePage)) const sortedPosts = posts .filter((post) => post !== null) .filter((post) => !post?.unlisted) .sort((a: Post, b: Post) => b.date.valueOf() - a.date.valueOf()) return ( <>

All posts

{sortedPosts.map((post: Post, i: number) => ( <> {i >= 1 && sortedPosts[i - 1]?.date.getFullYear() != post.date.getFullYear() && (

{post.date.getFullYear()}

)}

{post.title}

{post.date.toLocaleDateString('en-US', { timeZone: 'UTC' })}

{post.subtitle}

))} ); }