WIP: Draft: feat(frontend): add footer Homepage and Bridge product links (#663) #1154

Closed
PlasticDigits wants to merge 0 commits from 663-footer-official-cl8y-product-links-homepage-bridge- into main
PlasticDigits commented 2026-08-26 06:47:30 +00:00 (Migrated from gitlab.com)

Summary

  • Add a compact Homepage + Bridge row to the dApp shell footer (https://cl8y.com/ and https://bridge.cl8y.com/).
  • Pin those destinations in a compile-time HTTPS allowlist (cl8yProductLinks.ts) with isAllowedCl8yProductHref / canonicalCl8yProductHref. Header More / navItems.ts stay in-app only.
  • New tab + rel="noopener noreferrer". Product nav is separate from LegalFooterNotice. Text-only so it cannot become LCP. Footer stays outside ConnectedTermsGate.
  • Docs/skills: invariants P663-1–P663-8, playbook skills/AGENTS_FRONTEND_PRODUCT_LINKS.md, make verify-issue-663.

Closes #663.

This repo still does not implement the Bridge (link only). No GameFi / social / CEX tiles. No CSP connect-src / form-action change.

Test plan

  • make verify-issue-663 (Vitest allowlist + Cl8yProductLinks + LegalFooterNotice; greps; Playwright e2e/footer-product-links-663.spec.ts at 5 workers, PLAYWRIGHT_SKIP_CHAIN=1)
  • Re-run make verify-issue-663 after the Playwright host fix
  • Live HTTPS spot-check: https://cl8y.com/ and https://bridge.cl8y.com/ both return 200
  • Manual on https://dex.cl8y.com (or local Vite): click Homepage and Bridge; destinations load
  • Unsigned connected wallet: footer product links still work while TermsGate is showing
  • Dark + light; desktop (≥1280) and phone (375): links wrap and do not sit under the mobile tab bar

Closes #663

## Summary - Add a compact **Homepage** + **Bridge** row to the dApp shell footer (`https://cl8y.com/` and `https://bridge.cl8y.com/`). - Pin those destinations in a compile-time HTTPS allowlist (`cl8yProductLinks.ts`) with `isAllowedCl8yProductHref` / `canonicalCl8yProductHref`. Header More / `navItems.ts` stay in-app only. - New tab + `rel="noopener noreferrer"`. Product `nav` is separate from `LegalFooterNotice`. Text-only so it cannot become LCP. Footer stays outside `ConnectedTermsGate`. - Docs/skills: invariants **P663-1–P663-8**, playbook `skills/AGENTS_FRONTEND_PRODUCT_LINKS.md`, `make verify-issue-663`. Closes #663. This repo still does **not** implement the Bridge (link only). No GameFi / social / CEX tiles. No CSP `connect-src` / `form-action` change. ## Test plan - [x] `make verify-issue-663` (Vitest allowlist + `Cl8yProductLinks` + `LegalFooterNotice`; greps; Playwright `e2e/footer-product-links-663.spec.ts` at 5 workers, `PLAYWRIGHT_SKIP_CHAIN=1`) - [x] Re-run `make verify-issue-663` after the Playwright host fix - [x] Live HTTPS spot-check: `https://cl8y.com/` and `https://bridge.cl8y.com/` both return 200 - [ ] Manual on `https://dex.cl8y.com` (or local Vite): click Homepage and Bridge; destinations load - [ ] Unsigned connected wallet: footer product links still work while TermsGate is showing - [ ] Dark + light; desktop (≥1280) and phone (375): links wrap and do not sit under the mobile tab bar Closes #663
PlasticDigits (Migrated from gitlab.com) closed this pull request 2026-08-26 06:49:00 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
code/cl8y-dex-terraclassic!1154
No description provided.