Design pass: verify docs/theming on all frontend pages #44
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#44
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 (authoritative docs)
This pass verifies the Vite static frontend matches documented goals and patterns:
docs/frontend/design.md— static/IPFS deployability, wallet-native reads (indexer + RPC), no raw wei/WAD in product UI (AmountDisplay), human timestamps (UnixTimestampDisplay/formatUnixSec), bps as % (formatBpsAsPercent), no raw JSON fee blobs to users, clear chain indicator, no dark patterns, WarBow copy framed as adversarial PvP with rule explanations, accessibility baseline.docs/frontend/timecurve-views.md— Simple · Arena · Protocol split, sharedTimeCurveSubnav, single buy path / phase machine invariants, Simple layout contract (hero, countdown, buy card, ticker, “Want more?”).docs/product/vision.md— transparent, agent-friendly, joy/participation-oriented UX; avoid opaque marketing.Visual / theming baseline:
frontend/src/index.css— “arcade” palette (greens, golds, hard shadows, panel gloss),RootLayoutchrome (brand, nav, chain pill, wallet, footer with indexer + fee transparency).Routing source:
frontend/src/app/LaunchGate.tsx(post-launch index is/→TimeCurveSimplePage; optional/home→HomePage; pre-launch may showLaunchCountdownPagewhenVITE_LAUNCH_TIMESTAMPis set).Global (applies to every page under
RootLayout)index.csstokens; no stray inline colors that break the arcade system.RootLayout+prefers-reduced-motion)./art/loading-mascot.png+ copy) is on-brand and accessible (aria-liveas implemented).LaunchCountdownPage(pre-launch only, full-screen; outside normal shell when gated)HomePageat/home(and index/whenLaunchGateusesHomePage— noVITE_LAUNCH_TIMESTAMP)surfaceContenttiles match spec imagery and don’t look placeholder-heavy.decoding/width/heightdiscipline.TimeCurveSimplePageat/timecurve(and post-launch default/)PageHero: phase badge + lede matchtimecurve-viewscontract.TimeCurvePage(Arena) at/timecurve/arenadesign.mdexpectations.TimeCurveProtocolPageat/timecurve/protocolAmountDisplay/UnixTimestampDisplay/formatBpsAsPercent; no user-facing raw JSON for sinks (if any raw JSON exists, it must be dev-only or transformed).RabbitTreasuryPageat/rabbit-treasuryUnderConstructionshell: on-brand, clear roadmap hint, imagery from card art consistent.vision.md(no opaque yield marketing).CollectionPageat/collectionReferralsPageat/referralsUnderConstructionuses referrals card art; copy explains purpose without overpromising.KumbayaPageat/kumbaya(ThirdPartyDexPageembed)VITE_*DEX URL: clear configuration message (no blank iframe).PageHero/hat-coinassets align with other surfaces.SirPageat/sir(ThirdPartyDexPageembed)surfaceContent.Cross-page flows (smoke)
TimeCurveSubnavworks from each of/timecurve,/timecurve/arena,/timecurve/protocol./→ Simple; deep links to/home, secondary routes, and TimeCurve variants all render without layout break.vite.config/index.htmlart paths) not broken in production build.Out of scope for this issue
Implementation work is tracked separately; this issue is a review checklist against the docs above and current theming.
assigned to @PlasticDigits
mentioned in commit
2bd58f4757Issue #45 raster pack — ready for this design pass
All approved assets from #45 are now in-repo:
frontend/public/art/issue45/README.md(on `main`, commit `2bd58f4`)Notes for integration agents
Pre-promotion drops stay under `frontend/public/art/pending_manual_review/` (mostly gitignored); the living checklist pointer is `pending_manual_review/ISSUE_45_CHECKLIST.md`.
Correction: the Sir-strip reference image path used in generation is
frontend/public/sir.png(seeDEFAULT_SIR_CARD_REFingenerate_assets.py), notsir-card.png. Product card art infrontend/public/art/sir-card.pngis separate.mentioned in commit
1aca213266mentioned in commit
86066c8b7dmentioned in commit
54464a318dmentioned in issue #57
mentioned in issue #45
@brouie — design pass implementation landed in
mainat1aca213("Merge branch 'feat/issues-44-45-design-pass' (issues #44 + #45)"). Leaving this issue open for your verification of the checklist below.The issue #45 raster pack you flagged in your earlier note is now promoted into purpose-named folders under
frontend/public/art/and wired through the live UI as the implementation arm of this design pass.What changed (high level)
PageHero,PageBadge,IndexerStatusBar,TimeCurveSubnavnow render the issue #45 status pictograms + scene backplates with a tuned white scrim so lede text stays readable over busy art (frontend/src/index.css)..btn-primary/.btn-secondaryuse the issue #45 CTA cursor;.btn-secondary--criticaluses the danger cursor;input[type="range"]uses grab/grabbing — all with native fallbacks per design.md a11y guidance.phaseBadge(Simple) and the ArenastateBadgeIconSrcderive their pictogram path from the sameSaleSessionPhasevalue the timer/hero already uses, so no new "is the sale live?" branch was introduced (preserves issue #48 invariant + the WarBow #51 framing).docs/frontend/design.mddocuments the purpose-named layout; newdocs/frontend/missing-art-assets.mdenumerates slots the pack does not yet cover;.cursor/skills/yieldomega-guardrails/SKILL.mdgained guardrail #12 so future agents update the consumer table in lock-step. Follow-up generation work tracked as #57.How to verify
Run the local stack (
scripts/start-local-anvil-stack.sh+cd frontend && npm run dev) and walk through the routes below, or spot-check via the production build (npm run build && npm run preview).Global shell /
RootLayoutstatus-livepictogram (no missing-image icon).status-indexer-{ok,bad}pictogram next to the line; "Fee router: …" / "Indexer: …" lines remain readable./art/loading-mascot.png) still appears between routes;aria-livepolite copy preserved.LaunchCountdownPage(gated build)VITE_LAUNCH_TIMESTAMPin the future and reload/; the launch scene sits behind the countdown / mascot / lede (no z-index inversion that obscures text).HomePageat/home(and/when noVITE_LAUNCH_TIMESTAMP)<picture>swapshome-hero-mobile.jpg↔home-hero-desktop.jpgat the documented breakpoint.surfaceContentno longer feel placeholder-heavy (each tile has a coherent illustration).width/height/decoding).TimeCurveSimplePageat/timecurve(and post-launch/)PageHeroshowsphaseBadgepictogram matching the live phase (Loading / Pre-launch / Live / Timer expired / Sale ended) and thetimecurve-simplescene backplate.TimeCurvePage(Arena) at/timecurve/arenabunny-podium-winmascot +timecurve-arena.jpgscene +stateBadgeIconSrcderived from the samesaleActive/saleEnded/saleStartPendingflags the page already used.warbowPendingFlag*onchain, not from indexerflag_planted.TimeCurveProtocolPageat/timecurve/protocolbunny-thinkingmascot +timecurve-protocol.jpgneutral backdrop; no write affordances.AmountDisplay/UnixTimestampDisplay/formatBpsAsPercent.TimeCurveSubnav(Simple / Arena / Protocol)nav-{simple,arena,protocol}.pngpictogram next to the label; active state visually distinct.frontend/src/pages/timecurve/TimeCurveSubnav.test.tsxpasses (already verified locally — accommodates the new<img>element).RabbitTreasuryPage/CollectionPage/ReferralsPage/KumbayaPage/SirPagebunny-guarding, Collection →collection-gallery.jpg, etc.).VITE_*URL state still clear.Cross-page smoke
vite.config.tsimagePath) not broken innpm run build.npm run -s test -- --run→ 135 passing (addedtimeCurveSimplePhaseiconSrc test + DOM-shape update forTimeCurveSubnav).What is intentionally not in this PR
These slots are tracked separately in
docs/frontend/missing-art-assets.mdand the follow-up #57:icons/status-prelanch.pngwill be renamed tostatus-prelaunch.pngwhen #57's manifest regenerates that drop.If anything in the checklist above does not match what you see in the live build, drop a note here and I'll iterate. Once you sign off, this issue can close.
— Cross-links:
docs/frontend/design.md,docs/frontend/timecurve-views.md,frontend/public/art/README.md,.cursor/skills/yieldomega-guardrails/SKILL.md(guardrail #12).mentioned in issue #60
mentioned in issue #62
Due to design changes, this checklist is out of date - closing.