timeline feed now automatically updates ever 10sec
This commit is contained in:
parent
003ca8eb6b
commit
93c2aa102e
|
@ -46,6 +46,9 @@ pub async fn run_tui(mut app: App) -> Result<()> {
|
||||||
}
|
}
|
||||||
|
|
||||||
async fn run_app<B: Backend>(terminal: &mut Terminal<B>, app: &mut App) -> Result<()> {
|
async fn run_app<B: Backend>(terminal: &mut Terminal<B>, app: &mut App) -> Result<()> {
|
||||||
|
let mut last_refresh = std::time::Instant::now();
|
||||||
|
let refresh_interval = Duration::from_secs(10);
|
||||||
|
|
||||||
loop {
|
loop {
|
||||||
terminal.draw(|f| ui(f, app))?;
|
terminal.draw(|f| ui(f, app))?;
|
||||||
|
|
||||||
|
@ -53,7 +56,19 @@ async fn run_app<B: Backend>(terminal: &mut Terminal<B>, app: &mut App) -> Resul
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
let event_available = event::poll(Duration::from_millis(100))?;
|
// Auto-refresh timeline
|
||||||
|
if last_refresh.elapsed() >= refresh_interval {
|
||||||
|
if app.mode == AppMode::Timeline {
|
||||||
|
app.load_timeline().await?;
|
||||||
|
}
|
||||||
|
last_refresh = std::time::Instant::now();
|
||||||
|
}
|
||||||
|
|
||||||
|
let poll_duration = refresh_interval
|
||||||
|
.checked_sub(last_refresh.elapsed())
|
||||||
|
.unwrap_or_else(|| Duration::from_secs(0));
|
||||||
|
|
||||||
|
let event_available = event::poll(poll_duration.min(Duration::from_millis(100)))?;
|
||||||
|
|
||||||
if event_available {
|
if event_available {
|
||||||
let event = event::read()?;
|
let event = event::read()?;
|
||||||
|
|
Loading…
Reference in New Issue