aboutsummaryrefslogtreecommitdiff
path: root/src/app/actions.rs
diff options
context:
space:
mode:
authorOgulcan Celik <ogulcancelik@gmail.com>2026-03-31 14:23:14 +0300
committerOgulcan Celik <ogulcancelik@gmail.com>2026-03-31 14:23:14 +0300
commit7c8f12e8f2656d239a029552bc042bf44efdcf41 (patch)
tree3c6ac99c9304de1f30876b4d0c5f1645e91c8430 /src/app/actions.rs
parentb2293687afa4ba268eac98bf885bf6e5a5133180 (diff)
feat: poll for updates and show toast notifications
Diffstat (limited to 'src/app/actions.rs')
-rw-r--r--src/app/actions.rs10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/app/actions.rs b/src/app/actions.rs
index 6c42b966..02c25d64 100644
--- a/src/app/actions.rs
+++ b/src/app/actions.rs
@@ -197,8 +197,13 @@ impl AppState {
match event {
AppEvent::PaneDied { pane_id } => self.handle_pane_died(pane_id),
AppEvent::UpdateReady { version } => {
- self.update_available = Some(version);
- self.update_dismissed = false;
+ self.update_available = Some(version.clone());
+ self.update_dismissed = true;
+ self.toast = Some(ToastNotification {
+ kind: ToastKind::UpdateInstalled,
+ title: format!("updated to v{version}"),
+ context: "restart to use it".to_string(),
+ });
}
AppEvent::StateChanged {
pane_id,
@@ -240,6 +245,7 @@ impl AppState {
let event_text = match kind {
ToastKind::NeedsAttention => "needs attention",
ToastKind::Finished => "finished",
+ ToastKind::UpdateInstalled => "updated",
};
self.toast = Some(ToastNotification {
kind,