Repository navigation
Conversation
…on GitHub Pages BrowserRouter routes like /assets/projects and /concepts returned GitHub's "Page not found" when requested directly. A postbuild step now copies dist/index.html to dist/404.html, and the sitemap lists the project routes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
Nine inline links overflowed phone widths. Below 1024px a menu button (aria-expanded, Escape to close) reveals a stacked link list that closes on navigation. Nav items are defined once and shared by both layouts; desktop links no longer wrap between lg and xl. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
…tags index.html pointed og:image and twitter:image at /og-image.jpg, which 404ed, so shared links rendered without a preview. Adds a 1200x630 card. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
Cards with a detailUrl were wrapped in a <Link> that also contained Deep Dive, Live Demo and Repository links (invalid <a> in <a>). The title is now the only card-level link, stretched over the card with an ::after overlay; secondary links sit above it, and the stopPropagation workaround is removed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
ReviewOverall: a clean, well-scoped PR. Consolidating the nav into one Suggestions
Nits
TestsThe repo has no test framework, so manual verification is what's available, and your checklist is thorough. If one is added later, the nested-anchor check ( Security / performanceNo concerns. Nice work. None of the above is blocking, though #1 is worth fixing before merge. 🤖 Generated with Claude Code |
The Concepts page is being removed (its route and file go in #8). Removes the nav item and the /concepts sitemap URL so nothing on the site links to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
The page was generated in b03de6c and opened with an anecdote that never happened. Removes ConceptsPage.tsx, its lazy route and the CLAUDE.md nav mention. /concepts now falls through to the 404 page. The nav link and sitemap entry are removed in #7, which should merge first. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN
|
Review Clean, well-scoped PR. The shared navItems array removes a lot of duplication, and the stretched-link card fixes the nested-anchor bug properly. Notes below, none blocking. Correctness / possible issues
Performance / security
Tests Nits
🤖 Generated with Claude Code |
Summary
Addresses the four P0 items from the design review (one commit each):
262ee64):BrowserRouterroutes such as/assets/projectsand/conceptsreturned GitHub's "Page not found" when opened directly. Apostbuildscript now copiesdist/index.htmltodist/404.html;public/sitemap.xmllists the Projects, Concepts and detail routes.6bce9d9): belowlg(1024px), a menu button (aria-expanded,aria-controls, closes on Escape and on navigation) reveals a stacked link list. Nav items are defined once and shared by both layouts. Desktop styling is unchanged apart from tighter spacing/text betweenlgandxlso links no longer wrap at 1024px.d870024):index.htmlpointedog:image/twitter:imageat/og-image.jpg, which did not exist. Adds a 1200×630 card.74ea2b6): cards with adetailUrlwrapped<a>inside<a>. The title is now the only card-level link, stretched over the card via an::afteroverlay; Demo / Repository / Hugging Face links sit above it (relative z-10). ThestopPropagationworkaround is removed.Test plan
Ran locally against the production build, served by a small server that mimics GitHub Pages (serves
404.htmlfor unknown paths):npm run buildpasses;dist/404.htmlis identical todist/index.htmlnpx tsc -p tsconfig.app.json --noEmitpassesnpm run lint: 0 errors, same 3 pre-existing warnings (none in changed files)/assets/projectsand/conceptsrender the app when loaded directlya acount is 0)npm run deploy: open a deep link on donbr.github.io, and re-scrape the URL in LinkedIn Post Inspector to confirm the preview imageKnown limitation
GitHub Pages serves
404.htmlwith HTTP status 404. Browsers render the page normally, but search engines may not index the deep routes. Fixing that would mean prerendering a static HTML page per route; out of scope here.Deployment
The repo has no deploy workflow; merging doesn't publish. Run
npm run deployfrommainafter merge.Update: Concepts page removal
5ad9825removes the Concepts nav item and the/conceptssitemap URL. The page itself (generated inb03de6c, opening with a fabricated anecdote) and its route are deleted in #8. Merge this PR before #8; in the other order the nav briefly links to the 404 page. Both orders merge cleanly; the combined build passes with no remaining references.🤖 Generated with Claude Code
https://claude.ai/code/session_01Ppa5DyJCZ1CowKtz58QARN