fix(frontend): keep /tiers cards readable on phone-width (#651) #1153

Merged
PlasticDigits merged 1 commit from fix/651-tiers-phone-layout into main 2026-08-26 01:54:06 +00:00
PlasticDigits commented 2026-08-26 01:49:28 +00:00 (Migrated from gitlab.com)

Summary

  • Phone-width /tiers no longer reserves an empty Register column (w-28) when disconnected or on the active tier.
  • TierRow wraps identity + fee cluster and puts Register on a full-width min-h-11 row below md. Hold {n} CL8Y and fee phrases stay whitespace-nowrap.
  • How it works stacks labeled rows on <md (desktop keeps the 5-column table). Limit place* stays visible (I13).
  • Docs/skills: T651-1–T651-8, registry I15, make verify-issue-651, playbook skills/AGENTS_FRONTEND_TIERS_PHONE.md.

Closes #651.

Test plan

  • bash scripts/with-node.sh --cwd frontend-dapp -- npm test -- --run src/pages/TiersPage.test.tsx (11/11)
  • make lint-frontend (no new errors)
  • Playwright e2e/fee-tiers.spec.ts e2e-smoke, 5 workers (14/14) — desktop + 390×844 + 375×667 + connected Register geometry
  • make verify-issue-651 unit + docs/skills (Playwright re-run separately after LocalTerra + .env.local)
  • Manual iPhone Brave and Safari on production /tiers (issue required; WebKit not in this Playwright run)
  • Manual Android Chrome ~360×800 disconnected + connected
  • Light + dark on a real phone
  • LocalTerra Register tier 1 after connect (layout only; msgs unchanged — existing e2e/fee-tier-tx.spec.ts / #384)

Issue criteria

  • Disconnected 390×844 / 375×667: Tier N one line; Hold {n} CL8Y one phrase (Hold 1 CL8Y, Hold 5 CL8Y, Hold 7.5K CL8Y)
  • No empty ~112px Register column
  • Fee cluster phrases intact (whitespace-nowrap)
  • Connected unregistered: Register 1–9, ≥44px, register-tier-{id} matches tier_id
  • Connected registered: Active + Deregister; current row has no Register
  • How it works phone: stacked labels; Limit place* shown
  • Desktop ≥768: one-row cards; existing heading / 9 tiers / connect prompt stay green
  • Docs: docs/frontend.md § Tiers Page, QA 11.1.4, no duplicated numeric ladder
  • Light + dark + iOS WebKit / Android Chrome manual (not run here)

Out of scope / not done

  • No Register/Deregister msg, gas, or GetTiers / GetRegistration changes
  • No e2e-tx added
  • No physical iPhone Brave/Safari or Android Chrome pass (follow-up for QA 11.1.4 on dex.cl8y.com)
  • Not a visualViewport picker fix (#632)
## Summary - Phone-width `/tiers` no longer reserves an empty Register column (`w-28`) when disconnected or on the active tier. - `TierRow` wraps identity + fee cluster and puts Register on a full-width `min-h-11` row below `md`. **Hold {n} CL8Y** and fee phrases stay `whitespace-nowrap`. - How it works stacks labeled rows on `<md` (desktop keeps the 5-column table). Limit place* stays visible (I13). - Docs/skills: **T651-1–T651-8**, registry **I15**, `make verify-issue-651`, playbook `skills/AGENTS_FRONTEND_TIERS_PHONE.md`. Closes #651. ## Test plan - [x] `bash scripts/with-node.sh --cwd frontend-dapp -- npm test -- --run src/pages/TiersPage.test.tsx` (11/11) - [x] `make lint-frontend` (no new errors) - [x] Playwright `e2e/fee-tiers.spec.ts` e2e-smoke, 5 workers (14/14) — desktop + 390×844 + 375×667 + connected Register geometry - [x] `make verify-issue-651` unit + docs/skills (Playwright re-run separately after LocalTerra + `.env.local`) - [ ] Manual iPhone Brave **and** Safari on production `/tiers` (issue required; WebKit not in this Playwright run) - [ ] Manual Android Chrome ~360×800 disconnected + connected - [ ] Light + dark on a real phone - [ ] LocalTerra Register tier 1 after connect (layout only; msgs unchanged — existing `e2e/fee-tier-tx.spec.ts` / #384) ## Issue criteria - [x] Disconnected 390×844 / 375×667: **Tier N** one line; **Hold {n} CL8Y** one phrase (`Hold 1 CL8Y`, `Hold 5 CL8Y`, `Hold 7.5K CL8Y`) - [x] No empty ~112px Register column - [x] Fee cluster phrases intact (`whitespace-nowrap`) - [x] Connected unregistered: Register 1–9, ≥44px, `register-tier-{id}` matches `tier_id` - [x] Connected registered: Active + Deregister; current row has no Register - [x] How it works phone: stacked labels; Limit place* shown - [x] Desktop ≥768: one-row cards; existing heading / 9 tiers / connect prompt stay green - [x] Docs: `docs/frontend.md` § Tiers Page, QA **11.1.4**, no duplicated numeric ladder - [ ] Light + dark + iOS WebKit / Android Chrome **manual** (not run here) ## Out of scope / not done - No Register/Deregister msg, gas, or `GetTiers` / `GetRegistration` changes - No `e2e-tx` added - No physical iPhone Brave/Safari or Android Chrome pass (follow-up for QA **11.1.4** on `dex.cl8y.com`) - Not a `visualViewport` picker fix (#632)
PlasticDigits (Migrated from gitlab.com) merged commit 4295334f2f into main 2026-08-26 01:54:06 +00:00
PlasticDigits commented 2026-08-26 01:54:08 +00:00 (Migrated from gitlab.com)

mentioned in commit 4295334f2f

mentioned in commit 4295334f2f7b3f8d80aa2f8acbb06ab560960ac2
PlasticDigits commented 2026-08-26 01:58:32 +00:00 (Migrated from gitlab.com)

mentioned in issue #654

mentioned in issue #654
PlasticDigits commented 2026-08-26 01:58:42 +00:00 (Migrated from gitlab.com)

mentioned in issue #651

mentioned in issue #651
PlasticDigits commented 2026-08-26 01:58:45 +00:00 (Migrated from gitlab.com)

mentioned in issue #653

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