From f2d054e1ee772ed495dd12b66723b822c8b9bfcd Mon Sep 17 00:00:00 2001 From: wiiznokes <78230769+wiiznokes@users.noreply.github.com> Date: Mon, 1 Jul 2024 21:41:49 +0200 Subject: [PATCH] Update mod.rs --- src/widget/toaster/mod.rs | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/widget/toaster/mod.rs b/src/widget/toaster/mod.rs index 0c6b85a0..50efbc9a 100644 --- a/src/widget/toaster/mod.rs +++ b/src/widget/toaster/mod.rs @@ -6,9 +6,9 @@ use std::collections::VecDeque; use std::time::Duration; +use crate::app::Command; use crate::widget::container; use crate::widget::Column; -use iced::Command; use iced_core::Element; use widget::Toaster; @@ -24,15 +24,15 @@ pub fn toaster<'a, Message>( content: impl Into>, ) -> Element<'a, Message, crate::Theme, iced::Renderer> where - Message: From + Clone + 'a, + Message: From + Clone + 'static, { let make_toast = |toast: &'a Toast| { let row = row() .push(text(&toast.message)) .push_maybe(toast.action.as_ref().map(|action| { - button(text(action.description.clone())).on_press(action.message.clone()) + button::standard(&action.description).on_press(action.message.clone()) })) - .push(button("close").on_press(ToastMessage(toast.id).into())) + .push(button::standard("close").on_press(ToastMessage(toast.id).into())) .align_items(iced::Alignment::Center); container(row) @@ -157,12 +157,10 @@ impl Toasts { self.toasts.push_back(toast); - Command::perform( - async move { - tokio::time::sleep(duration).await; - }, - |_| crate::app::Message::App(message.into()), - ) + crate::command::future(async move { + tokio::time::sleep(duration).await; + crate::app::Message::App(Message::from(message)) + }) } /// Handle the [`ToastMessage`]