mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-10-03 13:17:07 +00:00
fix(web): the Top-Level Pages cards led nowhere, and /privacy was not a page (#114)
The "Top-Level Pages" band advertises eight stable routes, but the cards were plain <h3> text with no anchors -- nothing on that band was clickable. Wrap each card title in a link to its route. /privacy was the worst of the eight. It had no page and no homepage section, so it fell through to [[...slug]], which served the entire homepage (82KB, byte-identical to /openspec, /credential-sharing, and /hire-us) and then scrolled to the card that merely described the page that did not exist. Give it a real page covering what the site actually does: CrawlProof analytics, the Hire Us form, the CoinPay OAuth session cookie, and the credshare boundary -- ciphertext and salted-hash fingerprints are stored, secret values never reach the server. The cards also reused the ids openspec, credential-sharing, and hire-us, which already name sections further up the same document. Duplicate ids made those scroll targets ambiguous, so the cards are now page-<route>. With that, the scroll list in home-interactivity only needs the three routes [[...slug]] still serves; docs, blog, about, terms, and privacy are real routes and were only ever aiming scrollIntoView at a card. Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
bb09c145cd
commit
f9ebf9b342
5 changed files with 212 additions and 17 deletions
|
|
@ -8,9 +8,12 @@ import { HomeInteractivity } from "@/components/home-interactivity";
|
|||
// scrolled to the matching section. We preserve those URLs (they are canonical
|
||||
// in sitemap.xml) by rendering the same page for each known route and 404ing
|
||||
// anything else.
|
||||
// /about, /docs, /pricing, and /terms are now real routes (app/about, app/docs,
|
||||
// app/pricing, app/terms); the rest still render the homepage SPA scrolled to
|
||||
// their section.
|
||||
// /about, /docs, /pricing, /privacy, and /terms are now real routes
|
||||
// (app/about, app/docs, app/pricing, app/privacy, app/terms); the rest still
|
||||
// render the homepage SPA scrolled to their section. Every key left here MUST
|
||||
// have a matching section id in `renderPageMarkup` -- /privacy used to be
|
||||
// listed without one, so it served the whole homepage and scrolled to a card
|
||||
// that only described the page that did not exist.
|
||||
const ROUTE_META: Record<string, { title: string; description: string }> = {
|
||||
openspec: {
|
||||
title: "LogicSRC vs OpenSpec.dev · LogicSRC",
|
||||
|
|
@ -24,7 +27,6 @@ const ROUTE_META: Record<string, { title: string; description: string }> = {
|
|||
title: "Hire Us · LogicSRC",
|
||||
description: "Implementation help for LogicSRC, AgentSwarm, and Credential Sharing at $400/hour for accepted work, paid via CoinPay.",
|
||||
},
|
||||
privacy: { title: "Privacy · LogicSRC", description: "LogicSRC privacy notes." },
|
||||
"agent-swarm": {
|
||||
title: "AgentSwarm · LogicSRC",
|
||||
description: "Provider-neutral agent orchestration with model routing, cost controls, and GitHub integration.",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue