feat(frontend): share-link button on /trader/:address (#665) #1172

Merged
PlasticDigits merged 2 commits from feat/665-trader-share-link into main 2026-08-26 08:52:04 +00:00
PlasticDigits commented 2026-08-26 07:19:46 +00:00 (Migrated from gitlab.com)

Summary

  • Add a Share control on /trader/:address that sends the canonical same-origin profile URL (origin/trader/{validated-address}), preferring navigator.share and falling back to the existing copyToClipboard helper.
  • Keep Copy trader address as bech32-only. Share stays visible on profile 404 and indexer outage when the path is a valid terra address; it is hidden on empty /trader and invalid segments.
  • Optional TS-11: /portfolio Share emits /trader/{wallet} when connected (never /portfolio). Pair /trade and /charts mounts are not in this MR (helper already supports those kinds).

Closes #665

Test plan

  • make verify-issue-665 (Vitest helper + button + trader/portfolio, chrome nesting, docs/skills, Playwright trader-share-link smoke)
  • AddressRow still copies bech32; Share copies/shares the profile URL
  • /trader empty and invalid segments hide Share
  • Manual 375 + 1280, light + dark: Share visible, focus-visible ring, 44px hit target
  • Manual: Web Share sheet on a capable phone; cancel does not toast; clipboard fallback on desktop
  • Optional: /trade/:pair and /charts/:pair Share mounts (follow-up)
## Summary - Add a **Share** control on `/trader/:address` that sends the canonical same-origin profile URL (`origin/trader/{validated-address}`), preferring `navigator.share` and falling back to the existing `copyToClipboard` helper. - Keep **Copy trader address** as bech32-only. Share stays visible on profile 404 and indexer outage when the path is a valid terra address; it is hidden on empty `/trader` and invalid segments. - Optional **TS-11**: `/portfolio` Share emits `/trader/{wallet}` when connected (never `/portfolio`). Pair `/trade` and `/charts` mounts are not in this MR (helper already supports those kinds). Closes #665 ## Test plan - [x] `make verify-issue-665` (Vitest helper + button + trader/portfolio, chrome nesting, docs/skills, Playwright `trader-share-link` smoke) - [x] AddressRow still copies bech32; Share copies/shares the profile URL - [x] `/trader` empty and invalid segments hide Share - [ ] Manual 375 + 1280, light + dark: Share visible, focus-visible ring, 44px hit target - [ ] Manual: Web Share sheet on a capable phone; cancel does not toast; clipboard fallback on desktop - [ ] Optional: `/trade/:pair` and `/charts/:pair` Share mounts (follow-up)
PlasticDigits commented 2026-08-26 08:51:55 +00:00 (Migrated from gitlab.com)

added 43 commits

  • 8069dfc3...183a53de - 42 commits from branch main
  • 9a82f405 - Merge origin/main into branch for !1172

Compare with previous version

added 43 commits <ul><li>8069dfc3...183a53de - 42 commits from branch <code>main</code></li><li>9a82f405 - Merge origin/main into branch for !1172</li></ul> [Compare with previous version](/PlasticDigits/cl8y-dex-terraclassic/-/merge_requests/454/diffs?diff_id=1984529658&start_sha=8069dfc31fa5e83d13221f3d370935097af9bc1b)
PlasticDigits commented 2026-08-26 08:51:55 +00:00 (Migrated from gitlab.com)

mentioned in commit 9a82f40580

mentioned in commit 9a82f40580ec38509feefce19e1b1fd63fda61b7
PlasticDigits commented 2026-08-26 08:52:04 +00:00 (Migrated from gitlab.com)

mentioned in commit 676df7e520

mentioned in commit 676df7e520632daf237cbebb6e2f11b695425d53
PlasticDigits (Migrated from gitlab.com) merged commit 676df7e520 into main 2026-08-26 08:52:04 +00:00
PlasticDigits commented 2026-08-26 09:31:05 +00:00 (Migrated from gitlab.com)

mentioned in issue #665

mentioned in issue #665
PlasticDigits commented 2026-08-26 09:31:37 +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!1172
No description provided.