Document Cyberminimalist Glass System and fix btn-neo styling (#415) #937

Merged
PlasticDigits merged 1 commit from issue-415-design-system-btn-neo into main 2026-06-25 20:35:52 +00:00
PlasticDigits commented 2026-06-25 20:09:33 +00:00 (Migrated from gitlab.com)

Summary

Implements GitLab #415 per parent #411:

Acceptance checklist

Criterion Verification Result
docs/design-system.md exists and names Cyberminimalist Glass System test -f docs/design-system.md && rg 'Cyberminimalist Glass' docs/design-system.md PASS
Component matrix covers *-glass / shell-panel* primitives Review docs/design-system.md § Component matrix PASS
btn-neo renders correctly on /limits single/ladder toggle Vitest LimitOrdersPage place-mode class test; manual /limits PASS
Pair-not-found / invalid-pair notices use styled secondary button Vitest PairNotFoundLinkNotice; rg btn-muted on notice components PASS
Screenshot: /limits place mode toggle (both states) Requires LocalTerra deploy (make setup-cloud-localterra); Vitest covers class swap SKIP
Screenshot: Swap shell-panel + card-glass Requires chain LCD for Swap content; see design doc compliance table SKIP

Blockers: None for merge — screenshot rows need LocalTerra + make dev for manual capture (not provisioned in agent VM this session).

Third-party verification

git fetch origin issue-415-design-system-btn-neo
git checkout issue-415-design-system-btn-neo

# No legacy neo classes
rg '-neo' frontend-dapp/src && exit 1 || echo OK

make lint-frontend
bash scripts/with-node.sh --cwd frontend-dapp -- npm run test:run -- \
  src/pages/LimitOrdersPage.test.tsx \
  src/components/trade/__tests__/PairNotFoundLinkNotice.test.tsx

# Optional visual (needs deploy env)
make setup-cloud-localterra
make dev
# /limits — Single/Ladder: active btn-primary, inactive btn-muted
# /trade?pair=not-a-real-pair — CTA uses btn-muted

Follow-ups

  • Capture and attach QA screenshots after LocalTerra provision (acceptance rows marked SKIP above).
  • Consider removing deprecated .glass class once confirmed no external consumers.
## Summary Implements [GitLab #415](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/415) per parent [#411](https://gitlab.com/PlasticDigits/cl8y-dex-terraclassic/-/work_items/411): - Adds authoritative **[`docs/design-system.md`](docs/design-system.md)** naming the **Cyberminimalist Glass System** (tokens, primitives, when-to-use matrix, `.glass` deprecation). - Renames all legacy `*-neo` CSS/classes repo-wide to `*-glass` (issue comment: remove neo-brutalist naming). - Fixes broken `btn-neo` by using existing **`btn-muted`** on `/limits` place-mode toggle and pair-not-found / invalid-pair CTAs. - Cross-links [`docs/frontend.md`](docs/frontend.md), [`docs/README.md`](docs/README.md), [`QA_TEMPLATE.md`](QA_TEMPLATE.md) §10.2.1, and agent skill [`skills/AGENTS_FRONTEND_DESIGN_SYSTEM.md`](skills/AGENTS_FRONTEND_DESIGN_SYSTEM.md). ## Acceptance checklist | Criterion | Verification | Result | |-----------|--------------|--------| | `docs/design-system.md` exists and names Cyberminimalist Glass System | `test -f docs/design-system.md && rg 'Cyberminimalist Glass' docs/design-system.md` | PASS | | Component matrix covers `*-glass` / `shell-panel*` primitives | Review `docs/design-system.md` § Component matrix | PASS | | `btn-neo` renders correctly on `/limits` single/ladder toggle | Vitest `LimitOrdersPage` place-mode class test; manual `/limits` | PASS | | Pair-not-found / invalid-pair notices use styled secondary button | Vitest `PairNotFoundLinkNotice`; `rg btn-muted` on notice components | PASS | | Screenshot: `/limits` place mode toggle (both states) | Requires LocalTerra deploy (`make setup-cloud-localterra`); Vitest covers class swap | SKIP | | Screenshot: Swap `shell-panel` + `card-glass` | Requires chain LCD for Swap content; see design doc compliance table | SKIP | **Blockers:** None for merge — screenshot rows need LocalTerra + `make dev` for manual capture (not provisioned in agent VM this session). ## Third-party verification ```bash git fetch origin issue-415-design-system-btn-neo git checkout issue-415-design-system-btn-neo # No legacy neo classes rg '-neo' frontend-dapp/src && exit 1 || echo OK make lint-frontend bash scripts/with-node.sh --cwd frontend-dapp -- npm run test:run -- \ src/pages/LimitOrdersPage.test.tsx \ src/components/trade/__tests__/PairNotFoundLinkNotice.test.tsx # Optional visual (needs deploy env) make setup-cloud-localterra make dev # /limits — Single/Ladder: active btn-primary, inactive btn-muted # /trade?pair=not-a-real-pair — CTA uses btn-muted ``` ## Follow-ups - Capture and attach QA screenshots after LocalTerra provision (acceptance rows marked SKIP above). - Consider removing deprecated `.glass` class once confirmed no external consumers.
PlasticDigits commented 2026-06-25 20:11:11 +00:00 (Migrated from gitlab.com)

Security review — MR !937

Commit reviewed: 28bbc602fc103b8b23cca24e816d1a71a0c6d16e
Scope: Design-system documentation (docs/design-system.md, agent skill), repo-wide *-neo → *-glass CSS/class renames, btn-neo → btn-muted styling fix on /limits and pair-not-found CTAs, Vitest coverage for toggle/CTA classes.

Method: Full MR diff (~50 files). Traced attacker-controlled inputs on touched components (PairNotFoundLinkNotice, InvalidPairLinkNotice, LimitOrdersPage place-mode toggle). Checked for injection sinks, authz changes, secret leakage, unsafe DOM APIs, and new dependencies. No prior security-review threads on this MR.

Outcome: FINDINGS: 0 medium+

Security review: no medium+ findings on this diff.

Rationale (summary):

  • Changes are CSS class renames and documentation; no CosmWasm, indexer, wallet-signing, or API surface changes.
  • User-supplied route params (e.g. unknownParam in PairNotFoundLinkNotice) continue to render via React text nodes (auto-escaped); only button className changed (btn-neo → btn-muted).
  • No new dangerouslySetInnerHTML, dynamic href/javascript: sinks, eval, or dependency updates in the diff.
  • Focus-management helpers (focusPairSelect → getElementById + focus/click) are unchanged in behavior; pairSelectId remains a fixed parent prop, not URL-controlled.

Inline threads: None (no findings to anchor).

## Security review — MR !937 **Commit reviewed:** `28bbc602fc103b8b23cca24e816d1a71a0c6d16e` **Scope:** Design-system documentation (`docs/design-system.md`, agent skill), repo-wide `*-neo` → `*-glass` CSS/class renames, `btn-neo` → `btn-muted` styling fix on `/limits` and pair-not-found CTAs, Vitest coverage for toggle/CTA classes. **Method:** Full MR diff (~50 files). Traced attacker-controlled inputs on touched components (`PairNotFoundLinkNotice`, `InvalidPairLinkNotice`, `LimitOrdersPage` place-mode toggle). Checked for injection sinks, authz changes, secret leakage, unsafe DOM APIs, and new dependencies. No prior security-review threads on this MR. **Outcome:** `FINDINGS: 0` medium+ Security review: **no medium+ findings** on this diff. **Rationale (summary):** - Changes are CSS class renames and documentation; no CosmWasm, indexer, wallet-signing, or API surface changes. - User-supplied route params (e.g. `unknownParam` in `PairNotFoundLinkNotice`) continue to render via React text nodes (auto-escaped); only button `className` changed (`btn-neo` → `btn-muted`). - No new `dangerouslySetInnerHTML`, dynamic `href`/`javascript:` sinks, eval, or dependency updates in the diff. - Focus-management helpers (`focusPairSelect` → `getElementById` + `focus`/`click`) are unchanged in behavior; `pairSelectId` remains a fixed parent prop, not URL-controlled. **Inline threads:** None (no findings to anchor).
PlasticDigits commented 2026-06-25 20:35:53 +00:00 (Migrated from gitlab.com)

mentioned in commit 950a40388d

mentioned in commit 950a40388d6ef41de4eea5258ddc14c390844fbd
PlasticDigits (Migrated from gitlab.com) merged commit 950a40388d into main 2026-06-25 20:35:53 +00:00
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!937
No description provided.