Empty States & UX

Juno handles empty states explicitly.

Each major component has its own defined empty state:

  • WalletTokenTable → shows TokenEmptyState if no holdings

  • WalletSignalFeed → renders quiet message if no signals

  • WalletStats → hidden if token array is empty

  • DevPanel → zeros all values, but remains mounted

Empty states are treated as valid UI outcomes not errors or exceptions. If the user has no tokens or no signals, Juno doesn’t force content into view.


UX Approach

  • No popups, no onboarding modals

  • All components render cleanly even if props are undefined or empty

  • Visual feedback only happens when something changes

Juno doesn’t explain itself. It just reflects what’s there. If there’s nothing to show, it stays quiet. That’s the point.

Last updated