You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
From-scratch view-layer rebuild of the dapp against the V3 design system (Turbolong Design System_V3). Pure typed render functions (ts-port pattern) + V3 component contracts + V3 --tl-* tokens. Keep the entire data/service/wallet/contract layer — only rendering/markup/styles change. Supersedes the CSS-overlay attempt (#304, closed).
Full module extraction: split main.ts (4,342-line monolith) — extract cross-cutting systems (wallet-init, network/theme/expert state, modal, TxStepper, toast, keyboard, tooltips, app-state) into their own modules; main.ts becomes a thin boot. View rendering moves to new ui/ + views/ modules.
Branch feat/ui-rebuild-v3 off main.
REUSE / REPLACE / NEW
REUSE verbatim:blend.ts, defindex.ts, aquarius.ts, aquarius_listings.ts, history.ts, i18n.ts, locales.ts, tour.ts (~80 data/XDR/submit exports — none missing for any screen).
P4 — Trade → Vault → Compare → Swap → Status, wired to services (mocks marked TODO only where no source).
P5 Landing — from ui_kits/marketing.
P6 QA + cleanup — vs refs, dark/light, mobile, i18n, tx-stepper on all flows; remove dead old UI. Optional: _adherence.oxlintrc.json token-compliance check.
Discipline
Small reviewable commits per phase. After each screen: report which data fn it's wired to + anything still mocked. If a referenced data fn is missing → stop and ask. No contract/on-chain changes.
Goal
From-scratch view-layer rebuild of the dapp against the V3 design system (
Turbolong Design System_V3). Pure typed render functions (ts-port pattern) + V3 component contracts + V3--tl-*tokens. Keep the entire data/service/wallet/contract layer — only rendering/markup/styles change. Supersedes the CSS-overlay attempt (#304, closed).Decisions
main.ts(4,342-line monolith) — extract cross-cutting systems (wallet-init, network/theme/expert state, modal, TxStepper, toast, keyboard, tooltips, app-state) into their own modules;main.tsbecomes a thin boot. View rendering moves to newui/+views/modules.feat/ui-rebuild-v3offmain.REUSE / REPLACE / NEW
blend.ts,defindex.ts,aquarius.ts,aquarius_listings.ts,history.ts,i18n.ts,locales.ts,tour.ts(~80 data/XDR/submit exports — none missing for any screen).setNetwork, theme, expert mode, modal system, TxStepper, toast, keyboard shortcuts, tooltips, data/selection/view state.ds/*.css→ V3tokens/*.css; oldstyle.csspresentation + (any) view CSS; the ~19render*()HTML-string fns + static screen markup inindex.html.src/ui/*.ts(17 component builders honoring each.d.ts),src/views/*.ts(6 screens),src/tokens/(V3), thinmain.ts.Critical behavior to preserve (per SPECS)
aprToApy(apr)=(Math.pow(1+apr/100/365,365)−1)*100;netSupplyApy=aprToApy(base)+blndEmissions;netBorrowApy=aprToApy(base)−blndEmissions.[data-theme=light]).Phases (each: own commits, build+lint+boot-probe+screenshot-vs-ref, check-in before next)
el()helper; 17 component builders (+ CSS) to.d.tscontracts.index.htmlskeleton; extract cross-cutting systems to modules; top nav/settings/wallet/network/testnet/mobile-tab-bar; modal/toast/TxStepper mounts; routing (default Dashboard); thinmain.tsboot.fetchUserPositions+aggregatePoolAccount+ vault reads.ui_kits/marketing._adherence.oxlintrc.jsontoken-compliance check.Discipline
Small reviewable commits per phase. After each screen: report which data fn it's wired to + anything still mocked. If a referenced data fn is missing → stop and ask. No contract/on-chain changes.