class

Phosphor::DashboardScreen

Inherits Phosphor::Screen < Reference < Object

The primary application screen: shows the todo list and a status bar.

Mounts two widgets in on_mount — widget IDs only, no geometry. Layout is computed fresh every frame in render so terminal resize is handled for free.

Constructors

new(app : App(S, M))
Source

Instance methods

handle(msg : Msg, state : AppState) : Tuple(AppState, Cmd | Nil)

Handles app-level messages — pure function, no I/O.

Source
on_mount(state : AppState) : AppState

Mounts widgets and sets focus. No layout decisions here.

Source
render(state : AppState, frame : Frame, buf : Buffer) : Void

Splits the frame and delegates rendering to each mounted widget.

Source