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