Skip to content

feat: Minter-first redesign (structure, rating flow, copy, locales) - #31

Merged
QuickMythril merged 4 commits into
mainfrom
feat/minter-first-redesign
Aug 3, 2026
Merged

feat: Minter-first redesign (structure, rating flow, copy, locales)#31
QuickMythril merged 4 commits into
mainfrom
feat/minter-first-redesign

Conversation

@QuickMythril

Copy link
Copy Markdown
Member

PR 3 of the trust-app simplification plan — the redesign itself, in three reviewable commits (Stage A structure, Stage B flow+copy, Stage C locales). Net across the branch: −2,700 lines.

Stage A — structure (0040e29)

  • Graph view cut entirely (owner decision D8): components, graph model, d3-force dependency, fullscreen machinery (graph-only), 33 i18n keys, trust-graph fetch. Stale ?view=graph deep links fall back to Accounts. Recoverable from git history.
  • "Show all roles" toggle (default OFF, localStorage-persisted, sandboxed-iframe-safe). Off: category pinned to SUBJECT/Minters; on: full role surfaces.
  • Accounts table (off): Account / Trust status / Trust level / Blocks minted / You rated. Detail (off): Minter card + workspace only. Changes (off): Minter-only, category column hidden.
  • Flow guide now single-location (list) and collapsible; new network strip renders the previously-fetched-but-unrendered trust-summary; vote-weight explainer computed from live trust-policy percents.

Stage B — rating flow + copy (e3210e0)

  • Two-step Minter rating flow: "Is this a unique minting account?" (helper: "One real person, minting with only this account.") → Yes / No / Not sure yet / Clear my rating → "How confident are you?" with Low/Medium/High/Very high. No path re-asks as duplicate-or-fake and shows the 4× warning inline. Mapping is a pure tested function; submit/cooldown/pending machinery untouched.
  • Role flows (all-roles only): same structure with Positive/Negative wording; Designer surface carries the influence-split note.
  • "Your rating counts for X" rendered from the preview endpoint's previously-erased per-category impact payload; honest zero-weight message when the rater isn't yet trusted for that layer.
  • Sign/magnitude separated everywhere ratings display ("Yes · High confidence" — never "+3 - Positive (High)").
  • Role-card/flow-guide copy ladder (controlled vocabulary: count / trusted as / influence); non-Minter cards show Trust level instead of implying their own Bronze/Silver/Gold; Suspicious labeled "(blocks minting)"; single category-name mapping replaces the parallel regex remap; getAccountMintingLevelgetAccountTrustLevel.

Stage C — locales (b30aeff)

  • All 22 non-English locales brought to exact key parity with English (77 missing keys each → 0; 1,694 strings, machine-generated, flagged for native-speaker review).
  • New localeCoverage.test.ts guard: any locale missing or carrying extra keys vs en.ts fails with a readable diff (mutation-checked: deliberately broke one locale, saw the failure, regenerated from clean state).

Verification

  • npx vitest run: 173/173 tests (18 files) — includes new coverage for the toggle, table modes, two-step mapping, 4× warning placement, preview line, and locale parity.
  • npx tsc --noEmit: clean · npm run build: succeeds.
  • Visual pass against the live Previewnet node (browser dev, read-only): default list, all-roles list, and account detail all render correctly with live data — screenshots in ~/qortium/notes/trust-redesign-screens-2026-08-02/. The rating chooser itself requires the Home bridge and should get a live acceptance pass in Qortium Home before publish.

🤖 Generated with Claude Code

QuickMythril and others added 4 commits August 2, 2026 22:18
Cut the trust graph view entirely (owner decision) — TrustGraph/TrustGraphView/
graphModel/useAnimatedTrustGraph, the trust-graph API client, d3-force, and every
graph/network/fullscreen-only i18n key and CSS rule. A stale ?view=graph link now
falls back to Accounts instead of round-tripping.

Add a "Show all roles" toggle (default off, persisted in localStorage via the new
uiPreferences module) that refocuses the app on the SUBJECT ("Minters") category:
- AccountsTable: simplified Account/Minter status/Trust level/Blocks minted/You
  rated columns when off, full 4-role directory when on.
- AccountDetail: only the SUBJECT role card + workspace when off; the duplicated
  trust-path flow diagram is gone from the detail page entirely (TrustFlowGuide is
  now the list screen's only copy of it, and it's collapsible). Added a vote-weight
  explainer sourced from the already-fetched trust policy.
- ChangesTable: SUBJECT-only rows with the Category column hidden when off.
- CategorySelect moves from the deleted graph toolbar into the accounts toolbar,
  shown only when the toggle is on.

Added a compact network-summary strip above the accounts table using the
previously-unrendered trust-summary data (active ratings + status breakdown).

Structure only — rating-form Q&A flow and role-card copy are unchanged; new
strings are English-only pending a later i18n pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace the 9-option rating dropdown with a two-step Yes/No/Not-sure-yet
(+ Clear my rating) -> confidence chooser for both the Minter surface and
the role (Voter/Guide/Designer) surfaces, add a "your rating counts for X"
preview line sourced from Core's per-category impact data, decompose every
sign+magnitude rating display app-wide (never "+3 - Positive (High)"),
rewrite the role cards and TrustFlowGuide to the D7 ladder copy, and
consolidate trust-status terminology (single trust-status label key,
shared publicizeTrustText util, getAccountTrustLevel rename).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Every non-English locale in euro.ts/cjk.ts/rtl.ts was missing the same 77
keys relative to en.ts — the pre-existing category/role/trustFlow/explanation
gap plus everything added by the Minter-first redesign (Stages A/B). Fill
each locale's 77 missing keys, preserving all {placeholder} tokens and
reusing each language's already-established role/status terminology, and add
src/i18n/localeCoverage.test.ts asserting every locale's key set matches
en.ts exactly (missing and extra both fail with a readable diff).

These 1,694 new strings (77 keys x 22 locales) are machine-generated and
flagged for native-speaker review.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@QuickMythril
QuickMythril merged commit 9e9ff19 into main Aug 3, 2026
3 checks passed
@QuickMythril
QuickMythril deleted the feat/minter-first-redesign branch August 3, 2026 03:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant