import Link from "next/link"; import React from "react"; import { allProjects } from "contentlayer/generated"; import { Navigation } from "../components/nav"; import { Card } from "../components/card"; import { Article } from "./article"; export default function ProjectsPage() { const featured = allProjects.find( (project) => project.slug === "planetfall", )!; const top2 = allProjects.find((project) => project.slug === "envshare")!; const top3 = allProjects.find((project) => project.slug === "qstash")!; const sorted = allProjects .filter((p) => p.published) .filter( (project) => project.slug !== featured.slug && project.slug !== top2.slug && project.slug !== top3.slug, ) .sort( (a, b) => new Date(b.date ?? Number.POSITIVE_INFINITY).getTime() - new Date(a.date ?? Number.POSITIVE_INFINITY).getTime(), ); return (

Projects

Some of the projects are from work and some are on my own time.

{featured.date ? ( ) : ( SOON )}

{featured.title}

{featured.description}

Read more
{[top2, top3].map((project) => (
))}
{sorted .filter((_, i) => i % 3 === 0) .map((project) => (
))}
{sorted .filter((_, i) => i % 3 === 1) .map((project) => (
))}
{sorted .filter((_, i) => i % 3 === 2) .map((project) => (
))}
); }