feat(DM): instant cache load, manual refresh, full-screen season selector, season persistence fix

- Cache loads synchronously on onShow for instant startup, no auto fetch
- Added manual Refresh button, removed auto refresh that blocked UI
- Made UI non-blocking during fetch (episode list usable while fetching)
- Fixed season loss after player/downloader by preserving season in static s_preserved_season surviving G memset
- Season selector now full-screen overlay parented to lv_scr_act()
- Removed DL Missing batch button and bottom help/status label per UX request
- load_state no longer overwrites browsing season with last_slug season
This commit is contained in:
Adolfo
2026-07-30 16:13:47 -04:00
parent 7ef8e272fc
commit d4a257a01c
6 changed files with 262 additions and 149 deletions
@@ -97,8 +97,15 @@ typedef struct {
int dl_missing_total;
int dl_missing_done;
int dl_missing_failed;
// Refresh button reference
lv_obj_t *btn_refresh;
} AppCtx;
void trigger_manual_refresh(void);
void dm_preserve_season(int season);
int dm_consume_preserved_season(void);
extern AppCtx G;
#ifdef __cplusplus