Design pass: Protocol AUDIT — DOUB projection (readability + patterns) #235
Labels
No labels
agent:fix_bugfix
agent:fix_conflicts
agent:fix_security
agent:gap_analysis
agent:implement
agent:open_issues
agents
agent:security_audit
agent:verify
area
timecurve
arena
arena-v2
audit
block:feature_review
block:security
bug
contracts
design
devops
docs
documentation
enhancement
epic
feature
frontend
indexer
low priority
megaeth
operations
ops
performance
QA
qa checklist
referrals
removal
security
smart-contracts
tech-debt
testing
time-arena
timecurve
visual-qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
code/yieldomega#235
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Context
DOUB projection shipped on
/timecurve/protocol(subnav AUDIT) per GitLab #229. Functional scope is done (251M policy supply, launch-anchor market cap, CHARM→DOUB redemption, Kumbaya USD line, wallet share). This issue is a visual / UX design pass — especially readability and consistency with established TimeCurve protocol patterns — not new economics or RPC reads.Implementation:
TimeCurveProtocolDoubProjectionSection.tsx· shared mathdoubProjectionStats.ts· protocol refresh row styles (.timecurve-protocol__stat-value-row,.timecurve-protocol__inline-refresh) ·timecurve-views §229Design baseline:
docs/frontend/design.md· Sale state TOTAL USD row on same page · Raw contract → Reserve routing and launch anchors accordion parity · Simple rate board alignmentGoals
StatCardmeta lines, inline ↻ refresh affordances, USD disclosure, and empty states match Sale state hero / protocol raise card and neighboring Platform usage #231.Review checklist
Section chrome
PageSectiontitle DOUB projection, badge launch economics, lede length and tone match Platform usage and Sale state sections.protocolPhase !== saleStartPending) — pre-open absence does not leave awkward gap vs Sale state block.data-testid="timecurve-protocol-doub-projection"unchanged unless E2E updated.Stat grid information architecture
.stats-gridfeels like a wall of numbers.totalTokensForSale()not confused.Values + formatting
formatBuyHubDerivedCompact,formatCompactFromRaw) matches Sale state and Live buys — 4 sigfig policy #191.Inline refresh affordances
ProtocolInlineRefreshButtonconsistently with protocol raise TOTAL USD row..timecurve-protocol__stat-value-rowalignment: value + button baseline on mobile.Empty / gated states
EmptyDataPlaceholderfor CHARM→DOUB whentotalCharmWeight == 0(INV-FRONTEND-200) — copy (No CHARM minted yet) readable, not mistaken for error.Responsive + a11y
.stats-gridwraps without horizontal page scroll; meta lines remain legible.titletooltip (PROTOCOL_CL8Y_USD_SPOT_TITLE) sufficient for power users; consider visible footnote if tooltips are easy to miss on touch.Cohesion with full AUDIT scroll
Out of scope
Verification
/timecurve/protocolwith sale live (Anvil/devnet/staging) — buy progression updates CHARM→DOUB and clearing-related rows.doubProjectionStats.test.ts, Playwright AUDIT smoke.Definition of done: checklist items addressed or explicitly waived with comment; CSS/component tweaks merged; no regression to
INV-FRONTEND-229-DOUB-PROJECTIONbehavior.marked as related to #229
mentioned in commit
0556c503ccmentioned in commit
decb5a0829Shipped on
main(5b8dbe6/decb5a0)Presentation-only pass for protocol DOUB projection (GitLab #235):
overflow-wrapmobile)doubProjectionLayoutCss.test.tsregression coverageNot merged: older
feat/235-doub-projection-designworktree branch (superseded byfix/235-doub-projection-design).Verification for @nullvector_ux
/timecurve/protocol→ DOUB projection: three labeled groups, 10 cards,data-testid="timecurve-protocol-doub-projection"Issue stays open for design sign-off.
@PlasticDigits
Verification for @nullvector_ux
/timecurve/protocol→ DOUB projection: three labeled groups, 10 cards,data-testid="timecurve-protocol-doub-projection"