feat(tui): use moving heart emoji as liveness indicator
Some checks failed
ci/woodpecker/push/cron-docker-builder Pipeline was successful
ci/woodpecker/push/tag-created Pipeline was successful
ci/woodpecker/push/push-next Pipeline was successful
Rust / build (push) Failing after 7m28s

The heart moves between two positions every second as long as the ui is
being updated.
This commit is contained in:
Paul Campbell 2024-08-31 07:26:44 +01:00
parent 7504ab5a2d
commit 9f277199e0

View file

@ -40,6 +40,15 @@ impl State {
*tick += 1; *tick += 1;
} }
} }
fn beating_heart(&self) -> String {
if self.last_update.duration_since(self.started).as_secs() % 2 == 0 {
"💚 "
} else {
" 💚"
}
.to_string()
}
} }
#[derive(Clone, Debug, PartialEq, Eq)] #[derive(Clone, Debug, PartialEq, Eq)]
@ -326,11 +335,8 @@ impl StatefulWidget for &State {
.title( .title(
Title::from(Line::from(vec![ Title::from(Line::from(vec![
" [q]uit ".into(), " [q]uit ".into(),
format!( self.beating_heart().into(),
"{}s ", " ".into(),
self.last_update.duration_since(self.started).as_secs()
)
.into(),
])) ]))
.alignment(Alignment::Center) .alignment(Alignment::Center)
.position(ratatui::widgets::block::Position::Bottom), .position(ratatui::widgets::block::Position::Bottom),