feat: Refactor all keybinding tips into a dynamically changing menu that can be invoked via '?' [#32]

This commit is contained in:
2025-08-12 16:27:34 -06:00
parent 1f4870d082
commit 00ab0f27f7
64 changed files with 1627 additions and 903 deletions
@@ -229,11 +229,6 @@ pub fn draw_series_details(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
fn draw_seasons_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
if let Route::Sonarr(active_sonarr_block, _) = app.get_current_route() {
let content = Some(&mut app.data.sonarr_data.seasons);
let help_footer = app
.data
.sonarr_data
.series_info_tabs
.get_active_tab_contextual_help();
let season_row_mapping = |season: &Season| {
let Season {
title,
@@ -279,7 +274,6 @@ fn draw_seasons_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
let season_table = ManagarrTable::new(content, season_row_mapping)
.block(layout_block_top_border())
.loading(app.is_loading)
.footer(help_footer)
.searching(is_searching)
.search_produced_empty_results(active_sonarr_block == ActiveSonarrBlock::SearchSeasonError)
.headers(["Monitored", "Season", "Episode Count", "Size on Disk"])
@@ -306,11 +300,6 @@ fn draw_series_history_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
} else {
series_history.current_selection().clone()
};
let series_history_table_footer = app
.data
.sonarr_data
.series_info_tabs
.get_active_tab_contextual_help();
if let Route::Sonarr(active_sonarr_block, _) = app.get_current_route() {
let history_row_mapping = |history_item: &SonarrHistoryItem| {
@@ -349,7 +338,6 @@ fn draw_series_history_table(f: &mut Frame<'_>, app: &mut App<'_>, area: Rect) {
ManagarrTable::new(Some(&mut series_history_table), history_row_mapping)
.block(layout_block_top_border())
.loading(app.is_loading)
.footer(series_history_table_footer)
.sorting(active_sonarr_block == ActiveSonarrBlock::SeriesHistorySortPrompt)
.searching(active_sonarr_block == ActiveSonarrBlock::SearchSeriesHistory)
.search_produced_empty_results(