Home page footer "About", "Privacy", "Terms" links are decorative <span> elements with cursor-default — hover styles suggest interactivity but onClick does nothing #159

Closed
opened 2026-10-03 16:10:50 +00:00 by Mark · 1 comment
Owner

Finding

src/components/Footer.tsx:73-79 renders the "About", "Privacy", and "Terms" links as decorative <span> elements:

{['About', 'Privacy', 'Terms'].map((label) => (
  <li key={label}>
    <span className="text-[13px] text-[#A8A29E] hover:text-[#F8F2E9] transition-colors duration-150 cursor-default">
      {label}
    </span>
  </li>
))}

cursor-default confirms the intent: the elements don't do anything. They have hover styles that suggest interactivity (text color changes) but no onClick, no <Link>, no href. The user hovers, the color shifts, they click, nothing happens.

The other 6 footer links (Workspace, Stitch Editor, Gallery, Help Center, Stitch Guide, Brother Compatibility) are all <Link to="/help"> and navigate properly. The "About / Privacy / Terms" links are inconsistent with the rest of the footer and misleading.

Where

src/components/Footer.tsx:73-79

Suggested fix shape

Two options:

  1. Implement the pages. Create src/pages/About.tsx, src/pages/Privacy.tsx, src/pages/Terms.tsx with real content. Add routes for /about, /privacy, /terms. Update the footer to use <Link to="/about"> etc. This is the right fix for a product that has an About/Privacy/Terms surface to ship.

  2. Remove the spans. Delete the "About / Privacy / Terms" section from the footer. If those pages don't exist yet, the footer shouldn't promise them.

Option 1 is the right product move. The pages can be simple (one-screen each, plain text, the legal-style content for Privacy and Terms can be derived from a basic privacy template if the user wants placeholder text pending real legal review). The About page can describe the product in product-team voice.

If the team's roadmap doesn't include those pages, option 2 is the honest answer.

Severity

Low. Cosmetic; the user is mildly confused. Not breaking anything.

Discovered by

Gap analysis (2026-10-02) of footer affordances.

  • Same shape as the Home page's "Watch Demo" button (#81, fixed in round 1) — advertised but not wired.
## Finding `src/components/Footer.tsx:73-79` renders the "About", "Privacy", and "Terms" links as decorative `<span>` elements: ```tsx {['About', 'Privacy', 'Terms'].map((label) => ( <li key={label}> <span className="text-[13px] text-[#A8A29E] hover:text-[#F8F2E9] transition-colors duration-150 cursor-default"> {label} </span> </li> ))} ``` `cursor-default` confirms the intent: the elements don't do anything. They have hover styles that suggest interactivity (text color changes) but no `onClick`, no `<Link>`, no `href`. The user hovers, the color shifts, they click, nothing happens. The other 6 footer links (Workspace, Stitch Editor, Gallery, Help Center, Stitch Guide, Brother Compatibility) are all `<Link to="/help">` and navigate properly. The "About / Privacy / Terms" links are inconsistent with the rest of the footer and misleading. ## Where `src/components/Footer.tsx:73-79` ## Suggested fix shape Two options: 1. **Implement the pages.** Create `src/pages/About.tsx`, `src/pages/Privacy.tsx`, `src/pages/Terms.tsx` with real content. Add routes for `/about`, `/privacy`, `/terms`. Update the footer to use `<Link to="/about">` etc. This is the right fix for a product that has an About/Privacy/Terms surface to ship. 2. **Remove the spans.** Delete the "About / Privacy / Terms" section from the footer. If those pages don't exist yet, the footer shouldn't promise them. Option 1 is the right product move. The pages can be simple (one-screen each, plain text, the legal-style content for Privacy and Terms can be derived from a basic privacy template if the user wants placeholder text pending real legal review). The About page can describe the product in product-team voice. If the team's roadmap doesn't include those pages, option 2 is the honest answer. ## Severity Low. Cosmetic; the user is mildly confused. Not breaking anything. ## Discovered by Gap analysis (2026-10-02) of footer affordances. ## Related - Same shape as the Home page's "Watch Demo" button (#81, fixed in round 1) — advertised but not wired.
Author
Owner

Fixed in commit 34649b8 on main. Footer Company column swapped decorative <span> elements for real <Link> components pointing at /about, /privacy, /terms; three new pages render at those routes. Privacy and Terms are honest placeholder text with prominent yellow banners calling out that they have not been reviewed by counsel — placeholder honesty is load-bearing, shipping fabricated legalese would be worse than the original bug. 67/67 test files pass (688 tests); build clean.

Fixed in commit 34649b8 on main. Footer Company column swapped decorative `<span>` elements for real `<Link>` components pointing at `/about`, `/privacy`, `/terms`; three new pages render at those routes. Privacy and Terms are honest placeholder text with prominent yellow banners calling out that they have not been reviewed by counsel — placeholder honesty is load-bearing, shipping fabricated legalese would be worse than the original bug. 67/67 test files pass (688 tests); build clean.
Mark closed this issue 2026-10-03 17:37:43 +00:00
Sign in to join this conversation.
No description provided.