From 89e5c2364cd615e4c2f7cae873b0fb5f33e6cfd6 Mon Sep 17 00:00:00 2001 From: "Hunter W." Date: Mon, 8 Jun 2026 22:25:39 -0400 Subject: [PATCH] added project pages, updated page for FAM. --- app/context/ProjectContext.tsx | 10 + app/globals.css | 8 + app/layout.tsx | 1 + app/page.tsx | 8 +- app/profile/layout.tsx | 54 + app/profile/page.tsx | 12 + app/project/[slug]/layout.tsx | 18 + app/project/[slug]/page.tsx | 105 ++ app/project/layout.tsx | 55 + app/project/page.tsx | 14 + components/Nav.tsx | 17 +- components/ProfileMore.tsx | 43 +- components/ProjectCard.tsx | 25 +- components/{Projects.tsx => ProjectsGrid.tsx} | 0 data/content.ts | 123 +- next.config.ts | 2 +- package-lock.json | 1334 ++++++++++++++++- package.json | 9 +- .../img/projects/fam/example-step-in-flow.png | Bin 180820 -> 182998 bytes public/img/projects/fam/example-step.png | Bin 0 -> 109681 bytes public/img/projects/fam/reference-1.png | Bin 0 -> 84649 bytes public/img/projects/fam/stats-2026-1.png | Bin 0 -> 157597 bytes public/img/projects/fam/workflow.png | Bin 0 -> 58079 bytes styles/gallery.css | 2 - styles/markdown-container.css | 70 + styles/more-section.css | 3 - tsconfig.json | 2 +- 27 files changed, 1860 insertions(+), 55 deletions(-) create mode 100644 app/context/ProjectContext.tsx create mode 100644 app/profile/layout.tsx create mode 100644 app/profile/page.tsx create mode 100644 app/project/[slug]/layout.tsx create mode 100644 app/project/[slug]/page.tsx create mode 100644 app/project/layout.tsx create mode 100644 app/project/page.tsx rename components/{Projects.tsx => ProjectsGrid.tsx} (100%) create mode 100644 public/img/projects/fam/example-step.png create mode 100644 public/img/projects/fam/reference-1.png create mode 100644 public/img/projects/fam/stats-2026-1.png create mode 100644 public/img/projects/fam/workflow.png create mode 100644 styles/markdown-container.css diff --git a/app/context/ProjectContext.tsx b/app/context/ProjectContext.tsx new file mode 100644 index 0000000..1cec184 --- /dev/null +++ b/app/context/ProjectContext.tsx @@ -0,0 +1,10 @@ +'use client'; +import { createContext, useContext } from 'react'; + +const ProjectContext = createContext(null); + +export function ProjectProvider({ children, value }: { children: React.ReactNode, value: any }) { + return {children}; +} + +export const useSharedData = () => useContext(ProjectContext); \ No newline at end of file diff --git a/app/globals.css b/app/globals.css index e29f59a..a64fc34 100644 --- a/app/globals.css +++ b/app/globals.css @@ -149,6 +149,14 @@ body { height: 28; } +.expand-on-hover-button { + transition: all 0.2s ease; +} +.expand-on-hover-button:hover { + scale: 1.05; +} + + @media (max-width: 640px) { h1 { font-size: 32px !important; diff --git a/app/layout.tsx b/app/layout.tsx index b406fd5..d38f8b7 100644 --- a/app/layout.tsx +++ b/app/layout.tsx @@ -5,6 +5,7 @@ import "./globals.css"; import { ThemeProvider } from 'next-themes' import ThemeSwitch from "@/components/ThemeSwitch"; + const mono = JetBrains_Mono({ subsets: ["latin"], variable: "--mono", diff --git a/app/page.tsx b/app/page.tsx index 5d77160..75f9bcb 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -4,9 +4,7 @@ import { useState } from "react"; import { useMountTransition } from "@/hooks/useAnimations"; import Nav from "@/components/Nav"; import Profile from "@/components/Profile"; -import Projects from "@/components/Projects"; import Footer from "@/components/Footer"; - export default function Home() { const [section, setSection] = useState("profile"); const mounted = useMountTransition(); @@ -44,11 +42,9 @@ export default function Home() { -