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 handler

  • WalletStats — token count, signal count, total USD value

  • WalletTokenTable — holdings table, includes empty state fallback

  • TokenValueBar — visual proportion of token value

  • WalletSignalFeed — list of recent signals (type, confidence, timestamp)

  • SignalFilter — filter state for narrowing feed output

  • SignalLegend — static reference for interpreting icon and severity scale

  • DevPanel — 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