The Dashboard
The dashboard is Juno’s main interface for viewing wallet-level signal context. It’s minimal by design, built to surface only high-signal events and token states.
When a wallet loads, the dashboard pulls:
Token balances
Recent signal history
Any flagged risks
A calculated summary of value and activity
What’s Rendered
Components are lightweight and scoped:
WalletHeader
— wallet address, total signals, refresh handlerWalletStats
— token count, signal count, total USD valueWalletTokenTable
— holdings table, includes empty state fallbackTokenValueBar
— visual proportion of token valueWalletSignalFeed
— list of recent signals (type, confidence, timestamp)SignalFilter
— filter state for narrowing feed outputSignalLegend
— static reference for interpreting icon and severity scaleDevPanel
— development-only debug output (tokens, filters, signals)
All components are client-side, rendered with local state. No context providers or external state libraries are used.
Behavior
Signal data is filtered in-memory. UI updates when filter changes, wallet refreshes, or new signals enter memory. The goal is speed, clarity, and zero unnecessary rerenders.
This is the view layer. It reflects what’s already been processed, tokens, signals, and summaries generated upstream. The dashboard just shows what matters. Nothing more.
Last updated