feat(frontend): add footer Homepage and Bridge product links (#663) #1156

Merged
PlasticDigits merged 2 commits from feat/663-footer-product-links into main 2026-08-26 08:05:16 +00:00
PlasticDigits commented 2026-08-26 06:48:42 +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
## 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
PlasticDigits commented 2026-08-26 08:04:24 +00:00 (Migrated from gitlab.com)

added 3 commits

  • 28e505b5...74d39eb7 - 2 commits from branch main
  • 98b2da57 - Merge origin/main into feat/663-footer-product-links

Compare with previous version

added 3 commits <ul><li>28e505b5...74d39eb7 - 2 commits from branch <code>main</code></li><li>98b2da57 - Merge origin/main into feat/663-footer-product-links</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/438/diffs?diff_id=1984407993&start_sha=28e505b56b7305a71c7899bb33eb309204d3b5de)
PlasticDigits commented 2026-08-26 08:05:17 +00:00 (Migrated from gitlab.com)

mentioned in commit dc869a7fe8

mentioned in commit dc869a7fe8b02e3b9f7a10ec9a955961b42eea61
PlasticDigits (Migrated from gitlab.com) merged commit dc869a7fe8 into main 2026-08-26 08:05:17 +00:00
PlasticDigits commented 2026-08-26 09:30:49 +00:00 (Migrated from gitlab.com)

mentioned in issue #663

mentioned in issue #663
PlasticDigits commented 2026-08-26 09:31:36 +00:00 (Migrated from gitlab.com)

mentioned in issue #673

mentioned in issue #673
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!1156
No description provided.