feat(readarr): add the system handlers

SystemHandler owns the System tab: tab movement, the refresh key, and the
five keys that open the queued events, logs, tasks, and updates views. It
delegates every system detail block to SystemDetailsHandler, which scrolls
the log, task, queued event, and update views and drives the start task
confirmation prompt.

Both land together because SystemHandler::accepts covers the system detail
blocks that only SystemDetailsHandler implements, so landing the parent
alone would accept those blocks while doing nothing with them.
This commit is contained in:
Dark-Alex-17 committed 2026-09-08 09:33:26 -06:00
1 parent 58fe7d79ae
commit 24c5dedd0c
6 files changed
+2017

No files matched your search

@@ -246,4 +246,23 @@ mod tests {
active_readarr_block
);
}
#[rstest]
fn test_delegates_system_blocks_to_system_handler(
#[values(
ActiveReadarrBlock::System,
ActiveReadarrBlock::SystemLogs,
ActiveReadarrBlock::SystemQueuedEvents,
ActiveReadarrBlock::SystemTasks,
ActiveReadarrBlock::SystemTaskStartConfirmPrompt,
ActiveReadarrBlock::SystemUpdates
)]
active_readarr_block: ActiveReadarrBlock,
) {
test_handler_delegation!(
ReadarrHandler,
ActiveReadarrBlock::System,
active_readarr_block
);
}
}