From 7f614d28b5bd17effbd127d1581436d788d2b845 Mon Sep 17 00:00:00 2001 From: lerko96 Date: Mon, 27 Apr 2026 00:49:52 -0400 Subject: [PATCH] feat(projects): consolidate /projects, hide skills, redirect /archive MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - /projects: merged page with featured (top) + archive (bottom) - titles mirror homelab pattern: projects/featured, projects/archive - nav: archive → projects - home: drop Skills section and featured grid - /archive → /projects via meta-refresh + JS redirect stub --- src/app/archive/page.tsx | 78 +++++++++------------------------------ src/app/page.tsx | 12 ------ src/app/projects/page.tsx | 77 ++++++++++++++++++++++++++++++++++++++ src/components/Nav.tsx | 2 +- 4 files changed, 95 insertions(+), 74 deletions(-) create mode 100644 src/app/projects/page.tsx diff --git a/src/app/archive/page.tsx b/src/app/archive/page.tsx index 7ea1aadd..a1d9073d 100644 --- a/src/app/archive/page.tsx +++ b/src/app/archive/page.tsx @@ -1,68 +1,24 @@ -import type { Metadata } from "next"; -import Widget from "@/components/Widget"; -import { archiveProjects } from "@/data/projects"; +"use client"; -export const metadata: Metadata = { - title: "Archive | Tyler Koenig", - description: "Earlier projects and experiments — browser extensions, canvas apps, and bootcamp work.", -}; +import { useEffect } from "react"; + +export default function ArchiveRedirect() { + useEffect(() => { + window.location.replace("/projects/"); + }, []); -export default function ArchivePage() { return ( <> -
-

- - tyler/projects/archive -

-

- Experiments, browser extensions, and bootcamp projects. Kept here for context — not - representative of current work. -

-
- - -
- {archiveProjects.map((project) => ( - -
-
- {project.year && ( - - {project.year} - - )} - - {project.title} - -
-

- {project.description} -

-
- {project.tags.map((tag) => ( - - {tag} - - ))} -
-
- -
- ))} -
-
+ +

+ This page moved.{" "} + + /projects/ + +

); } diff --git a/src/app/page.tsx b/src/app/page.tsx index 8b4630b7..4d6c08b3 100644 --- a/src/app/page.tsx +++ b/src/app/page.tsx @@ -1,10 +1,6 @@ import type { Metadata } from "next"; import Hero from "@/components/Hero"; -import Skills from "@/components/Skills"; import Timeline from "@/components/Timeline"; -import ProjectCard from "@/components/ProjectCard"; -import Widget from "@/components/Widget"; -import { featuredProjects } from "@/data/projects"; export const metadata: Metadata = { title: "Tyler Koenig", @@ -17,14 +13,6 @@ export default function Home() { <> - -
- {featuredProjects.map((project) => ( - - ))} -
-
- ); } diff --git a/src/app/projects/page.tsx b/src/app/projects/page.tsx new file mode 100644 index 00000000..3a272714 --- /dev/null +++ b/src/app/projects/page.tsx @@ -0,0 +1,77 @@ +import type { Metadata } from "next"; +import Widget from "@/components/Widget"; +import ProjectCard from "@/components/ProjectCard"; +import { featuredProjects, archiveProjects } from "@/data/projects"; + +export const metadata: Metadata = { + title: "Projects | Tyler Koenig", + description: + "Featured projects and earlier work — homelab, open-pact, helm, and bootcamp/experiment archive.", +}; + +export default function ProjectsPage() { + return ( + <> +
+

+ + projects +

+

+ Featured work first. Earlier experiments, browser extensions, and bootcamp projects below — kept for context. +

+
+ + +
+ {featuredProjects.map((project) => ( + + ))} +
+
+ + + + + + ); +} diff --git a/src/components/Nav.tsx b/src/components/Nav.tsx index c420c2fc..388bf99d 100644 --- a/src/components/Nav.tsx +++ b/src/components/Nav.tsx @@ -7,7 +7,7 @@ import { useTheme } from "@/context/ThemeContext"; const links = [ { href: "/", label: "tyler" }, { href: "/homelab/", label: "homelab" }, - { href: "/archive/", label: "archive" }, + { href: "/projects/", label: "projects" }, ]; export default function Nav() {