migrate CRA to Next.js 16 + React 19 + TypeScript + Tailwind v4
- replace CRA scaffold with Next.js static export config - add app router pages: home, homelab, archive - add components: Nav, Footer, Hero, Skills, ProjectCard, ThemeScript - add ThemeContext for dark mode with FOUC prevention - add data layer: projects.ts, services.ts - update .gitignore for Next.js (ignore .next/, out/, next-env.d.ts) - add docs: handoff plan, homelab decisions, style reference
This commit is contained in:
30
docs/handoff-plan.md
Normal file
30
docs/handoff-plan.md
Normal file
@@ -0,0 +1,30 @@
|
||||
What's done
|
||||
git tag cra-legacy — old CRA code preserved
|
||||
Next.js 16 + React 19 + TypeScript + Tailwind v4 scaffolded
|
||||
next.config.ts — output: 'export', trailingSlash: true, images: { unoptimized: true }
|
||||
package.json — deploy scripts, postbuild writes out/.nojekyll, gh-pages@^6
|
||||
globals.css — full design system: colors, fonts, breakpoints, keyframes (Tailwind v4 CSS-first config)
|
||||
ThemeScript.tsx — FOUC-prevention blocking script
|
||||
ThemeContext.tsx — dark mode provider + useTheme hook, localStorage key lerko96-dark-mode
|
||||
Nav.tsx — sticky header, active link detection, dark mode toggle
|
||||
Footer.tsx — dynamic copyright year, social links
|
||||
layout.tsx — Montserrat + Source Code Pro via next/font, Font Awesome CDN, ThemeProvider wrapping
|
||||
src/data/projects.ts — all 8 projects typed, featured + archive split
|
||||
src/data/services.ts — 20+ homelab services with categories
|
||||
src/app/page.tsx — home page with Hero, Skills, ProjectCards
|
||||
src/app/homelab/page.tsx — full homelab page: at-a-glance, VLAN table, services grid, 6 ADRs, GitHub CTA
|
||||
src/app/archive/page.tsx — archive grid with all older projects
|
||||
public/CNAME — www.lerko96.com
|
||||
public/images/headshot-tyler_koenig.png — restored from git tag
|
||||
What's left
|
||||
Test build — npm run build and fix any TypeScript/lint errors (hasn't been run yet)
|
||||
Local preview — npx serve out and verify all 3 routes load correctly, dark mode toggle works, no broken assets
|
||||
Email address — Footer has tylerkoenig96@gmail.com hardcoded — confirm that's correct or update
|
||||
Deploy — npm run deploy pushes out/ to master
|
||||
Post-deploy checks — confirm www.lerko96.com loads, /homelab and /archive routes work via direct URL, _next/ assets load (not 404'd)
|
||||
Screenshots — swap gradient placeholders for real project screenshots when ready (just drop into public/images/ and update projects.ts)
|
||||
CLAUDE.md update — update stack, commands, and architecture notes to reflect Next.js (currently still says CRA)
|
||||
Key gotcha to remember
|
||||
Tailwind v4 is CSS-first — no tailwind.config.ts. All custom tokens live in globals.css under @theme {}. Dark mode variant is defined as @variant dark (&:where(.dark, .dark *)).
|
||||
|
||||
Memory has been saved to /home/lerko/.claude/projects/-home-lerko-Code-lerko96-github-io/memory/ — the next session will have full context automatically.
|
||||
Reference in New Issue
Block a user