EmptyState
NAME
App::Moneymoor::View::EmptyState - copy for the "nothing here yet" state across the budget table, register, reports, and sidebar.
SYNOPSIS
use App::Moneymoor::View::EmptyState;
use App::Moneymoor::Service::Icons;
empty-state-for('budget');
# ('No envelopes yet โ n to create one',)
empty-state-for('register');
# ('No transactions โ n to add one',)
empty-state-for('sidebar');
# ('No accounts yet', 'n to add your first account')
empty-state-for('made-up-state');
# ('nothing here',)
# Icon injection follows the same accessor everything else in the app
# reads โ a nerd-tier glyph shows up here for free where a state names
# one.
empty-state-for('budget', :icons(icons('nerd')));
DESCRIPTION
Pure copy lookup for the budget table, register, reports panel and accounts sidebar's empty states โ no store, no theme, no widget. Callers hand the widget a style (dim, centered) separately; this sub only owns the words.
budgetโ the envelope table has no categories yet.registerโ the selected account (or All Accounts) has no transactions yet.reportsโ the viewed period has no spending to chart.sidebarโ the accounts list has no accounts yet.
Any state this module doesn't recognise falls back to a generic
'nothing here' โ same fallback semantics as
App::Moneymoor::Themes::load.
EXPORTS
empty-state-for(Str $state, :$icons = icons() --List)> โ at most 2 lines of copy.$iconsis anyApp::Moneymoor::Service::Icons-shaped value; no state reads from it today, but it is on the signature so a glyph-bearing state can be added later without touching call sites.