---
import Layout from "@layouts/Layout.astro";
import Max from "@components/Max.astro";
import { getCollection } from "astro:content";
import {
  filterCollection,
  useTranslatedPath,
  useTranslations,
} from "@i18n/utils";
import { getLocale } from "astro-i18n-aut";
import HeroCard from "@components/HeroCard.astro";
import SmallCard from "@components/SmallCard.astro";
import LinkCard from "@components/LinkCard.astro";
import ArrowA from "@components/arrows/ArrowA.astro";
import ArrowB from "@components/arrows/ArrowB.astro";

const projects = filterCollection(
  await getCollection("projects"),
  getLocale(Astro.url),
);

const t = useTranslations(Astro.url);
const tp = useTranslatedPath(Astro.url);

const featuredProject = projects.find((project) => project.data?.featured);
const otherProjects = projects
  .filter((project) => featuredProject !== project)
  .sort((a) => (a?.data?.icon ? -1 : 1))
  .slice(0, 3);

const posts = filterCollection(
  await getCollection("blog"),
  getLocale(Astro.url),
);

const featuredPost = posts.find((post) => post.data?.featured);
const otherPosts = posts.filter((post) => featuredPost !== post).slice(0, 3);
---

<Layout title="Max Richter">
  <Max />
  <section class="relative my-8">
    <span class="i-tabler-circle-arrow-right-thin"></span>
    <ArrowA />
    {featuredProject && <HeroCard post={featuredProject} />}
    <div class="grid grid-cols-2 gap-4 mt-4">
      {
        otherProjects.length > 0 &&
          otherProjects.map((project) => <SmallCard post={project} />)
      }
      <LinkCard
        link={tp("/projects")}
        title={t("more-projects")}
        icon="circle-arrow-right"
      />
    </div>
  </section>

  <section class="relative my-8">
    {featuredPost && <HeroCard post={featuredPost} />}

    <ArrowB />
    <div class="grid grid-cols-2 gap-4 mt-4">
      {
        otherPosts.length > 0 &&
          otherPosts.map((post) => <SmallCard post={post} />)
      }
      <LinkCard link={tp("/blog")} title={t("more-posts")} />
    </div>
  </section>
</Layout>
