---
import BaseLayout from "../../layouts/BaseLayout.astro";
import { getCollection } from "astro:content";
import * as collections from "../../content/config";

export async function getStaticPaths() {
  return Object.keys(collections.collections)
    .filter((category) => category !== "git" && category !== "gists")
    .map((category) => ({
      params: { category },
    }));
}

const category = Astro.params.category;
const title = "Barrett Ruth";

const posts = await getCollection(category);
posts.sort((a, b) => {
  const parseEuroDate = (dateStr) => {
    if (!dateStr) return new Date(0);
    const [day, month, year] = (dateStr || "").split("/");
    return new Date(year, month - 1, day);
  };
  return parseEuroDate(b.data.date) - parseEuroDate(a.data.date);
});
---

<BaseLayout title={title}>
  <slot name="head" slot="head">
    <link rel="stylesheet" href="/styles/index.css" />
  </slot>

  <div class="content">
    <ul class="topics">
      <li class="topic algorithms">
        <a href="/algorithms" data-topic="algorithms">algorithms</a>
      </li>
      <li class="topic software">
        <a href="/software" data-topic="software">software</a>
      </li>
      <li class="topic meditations">
        <a href="/meditations" data-topic="meditations">meditations</a>
      </li>
      <li class="topic autonomous-racing">
        <a href="/autonomous-racing" data-topic="autonomous-racing"
          >autonomous-racing</a
        >
      </li>
    </ul>

    <div class="posts" id="posts">
      {
        posts.map((p) => (
          <a href={`/${category}/${p.slug}.html`}>{p.data.title}</a>
        ))
      }
    </div>
  </div>
</BaseLayout>
