require_relative "base"
module DashboardRouter
include RatatuiRuby::Tea::Router
Command = RatatuiRuby::Tea::Command
Model = DashboardBase::Model
Init = DashboardBase::Init
View = DashboardBase::View
route :stats, to: StatsPanel
route :network, to: NetworkPanel
MODAL_INACTIVE = -> (model) { !CustomShellModal.active?(model.shell_modal) }
keymap do
key :ctrl_c, -> { Command.exit }
only when: MODAL_INACTIVE do
key :q, -> { Command.exit }
key :s, -> { SystemInfo.fetch_command }
key :d, -> { DiskUsage.fetch_command }
key :p, -> { Ping.fetch_command }
key :u, -> { Uptime.fetch_command }
key :c, -> { CustomShellModal.open }
end
end
Update = from_router
end