Add task count to task list panel header
Show 'X todo / Y done' in the Tasks panel title bar. Also includes prior uncommitted work: - Pagination in fetch_tasks (maxResults=100 + pageToken loop) - fetch_tasks_since for incremental pull sync - SyncStats struct with version/last_sync/last_pull/changed counts - Periodic push (30s) and pull (5min) sync engine - event::poll(100ms) for non-blocking UI refresh - Ctrl+R full sync (push + pull) - refresh_if_needed() to reload data after background sync - Retry mechanism (MAX_SYNC_RETRIES=3) for sync queue items - HTTP status code checks in fetch_lists/fetch_tasks/fetch_tasks_since - Fix move_task URL to use reqwest query() - Remove CASCADE via replace_all_lists (use insert_list instead) - has_pending_sync() to prevent pull during pending push
This commit is contained in:
+3
-1
@@ -3,6 +3,7 @@ pub mod components;
|
||||
use ratatui::layout::{Constraint, Direction, Layout};
|
||||
use ratatui::Frame;
|
||||
|
||||
use crate::app::SyncStats;
|
||||
use crate::domain::models::*;
|
||||
use components::*;
|
||||
|
||||
@@ -42,6 +43,7 @@ pub struct AppView<'a> {
|
||||
pub task_list_scroll: u16,
|
||||
pub detail_scroll: u16,
|
||||
pub auth_error: Option<&'a str>,
|
||||
pub sync_stats: &'a SyncStats,
|
||||
}
|
||||
|
||||
pub fn draw(frame: &mut Frame, view: AppView) {
|
||||
@@ -87,7 +89,7 @@ pub fn draw(frame: &mut Frame, view: AppView) {
|
||||
view.detail_scroll,
|
||||
);
|
||||
|
||||
render_status_bar(frame, status_area, view.network_status);
|
||||
render_status_bar(frame, status_area, view.network_status, view.sync_stats);
|
||||
|
||||
if let Some(popup) = view.show_popup {
|
||||
match popup {
|
||||
|
||||
Reference in New Issue
Block a user