aboutsummaryrefslogtreecommitdiff
path: root/src/app/update.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/update.rs')
-rw-r--r--src/app/update.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/app/update.rs b/src/app/update.rs
index f1576b5..baf4651 100644
--- a/src/app/update.rs
+++ b/src/app/update.rs
@@ -17,6 +17,7 @@ pub enum Msg {
ShowUpdateForm { event: Event },
AddEvent { new: Event },
UpdateEvent { old: Event, new: Event },
+ DeleteEvent { event: Event },
}
pub async fn event_handler(rx: Receiver<Msg>, mut app: App) {
@@ -47,6 +48,15 @@ pub async fn event_handler(rx: Receiver<Msg>, mut app: App) {
None => println!("Event not found when updating from {:?} to {:?}", old, new),
}
}
+ Msg::DeleteEvent { event } => {
+ match app.events.iter().position(|e| e.id == event.id) {
+ Some(index) => {
+ app.events.remove(index);
+ calendar::refresh_date(&app, event.date);
+ }
+ None => println!("Event not found when trying to delete {:?}", event),
+ }
+ }
}
}
}