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. $icons is any App::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.

App::Moneymoor v0.4.2

YNAB-style envelope budgeting: a derivation engine

Authors

  • Matt Doughty

License

Artistic-2.0

Dependencies

DBIish:ver<0.6.7>:auth<zef:raku-community-modules>Notcurses::Native:ver<0.6.5+>:auth<zef:apogee>Selkie:ver<0.16.0+>:auth<zef:apogee>JSON::Fast:ver<0.19>:auth<cpan:TIMOTIMO>MacOS::NativeLib:ver<0.0.6>:auth<zef:lizmat>

Test Dependencies

Provides

  • App::Moneymoor
  • App::Moneymoor::Config
  • App::Moneymoor::DB
  • App::Moneymoor::Gateway::Account
  • App::Moneymoor::Gateway::Assignment
  • App::Moneymoor::Gateway::Category
  • App::Moneymoor::Gateway::Payee
  • App::Moneymoor::Gateway::Transaction
  • App::Moneymoor::Handlers::Boot
  • App::Moneymoor::Model::Account
  • App::Moneymoor::Model::Assignment
  • App::Moneymoor::Model::Category
  • App::Moneymoor::Model::CategoryGroup
  • App::Moneymoor::Model::Payee
  • App::Moneymoor::Model::Split
  • App::Moneymoor::Model::Transaction
  • App::Moneymoor::Screen::Accounts
  • App::Moneymoor::Screen::Budget
  • App::Moneymoor::Screen::Login
  • App::Moneymoor::Screen::Main
  • App::Moneymoor::Screen::Main::Keybinds
  • App::Moneymoor::Screen::Main::Modals
  • App::Moneymoor::Screen::Main::Subscriptions
  • App::Moneymoor::Screen::Reports
  • App::Moneymoor::Service::Budget
  • App::Moneymoor::Service::Icons
  • App::Moneymoor::Service::Target
  • App::Moneymoor::Service::Workspace
  • App::Moneymoor::StoreHandlers
  • App::Moneymoor::Theme
  • App::Moneymoor::Theme::Catppuccin
  • App::Moneymoor::Theme::Dracula
  • App::Moneymoor::Theme::Everforest
  • App::Moneymoor::Theme::Gruvbox
  • App::Moneymoor::Theme::Kanagawa
  • App::Moneymoor::Theme::Monokai
  • App::Moneymoor::Theme::Nord
  • App::Moneymoor::Theme::OneDark
  • App::Moneymoor::Theme::RosePine
  • App::Moneymoor::Theme::Solarized
  • App::Moneymoor::Theme::TokyoNight
  • App::Moneymoor::Themes
  • App::Moneymoor::UI
  • App::Moneymoor::Util::Money
  • App::Moneymoor::Util::Period
  • App::Moneymoor::View::BudgetRow
  • App::Moneymoor::View::EmptyState
  • App::Moneymoor::View::HintBar
  • App::Moneymoor::View::InspectorPane
  • App::Moneymoor::View::ModalChrome
  • App::Moneymoor::View::RegisterRow
  • App::Moneymoor::View::ReportRow
  • App::Moneymoor::Widget::BannerBar
  • App::Moneymoor::Widget::BootProgressModal

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite โ€” the markup and publishing tools behind this site.