Component Registry
Juno’s frontend is built from small, focused components. No global state, no overengineered wrappers. Each file handles one job, and everything runs off props or local state.
Core Display Components
WalletDashboard
Top-level wallet view. Displays key stats like top signal type and confidence.
WalletStats
Lightweight summary block showing token count, signal count, and total USD value.
WalletTokenTable
Token list with symbol, amount, and value. Fallbacks to TokenEmptyState
if wallet is empty.
TokenValueBar
Renders visual weight of tokens by value. Optional, non-interactive.
WalletSignalFeed
Renders recent signals, ordered by time. Confidence + type shown. Works with filters.
SignalTimeline
Optional component that shows chronological signal history, visual, not interactive.
Controls and Feedback
SignalFilter
Simple radio-style selector for signal type filtering (all
, buy-pressure
, etc). Connected to memory.
SignalLegend
Static key showing what icons/colors mean. No state.
WalletHeader
Sticky bar with address display, signal count, and refresh trigger.
DevPanel
Visible only in dev. Dumps token/signal counts and current filter state.
Notes
All components are written in TypeScript
Props are explicitly typed
No shared context or store, everything flows top-down
You can copy/paste any component into a test environment, no setup required
This registry is stable. If it’s not tied to tokens, signals, or state, it doesn’t belong here.
Last updated