Update mod.rs
This commit is contained in:
parent
2dff73b8b2
commit
f2d054e1ee
1 changed files with 8 additions and 10 deletions
|
|
@ -6,9 +6,9 @@
|
||||||
use std::collections::VecDeque;
|
use std::collections::VecDeque;
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
|
use crate::app::Command;
|
||||||
use crate::widget::container;
|
use crate::widget::container;
|
||||||
use crate::widget::Column;
|
use crate::widget::Column;
|
||||||
use iced::Command;
|
|
||||||
use iced_core::Element;
|
use iced_core::Element;
|
||||||
use widget::Toaster;
|
use widget::Toaster;
|
||||||
|
|
||||||
|
|
@ -24,15 +24,15 @@ pub fn toaster<'a, Message>(
|
||||||
content: impl Into<Element<'a, Message, crate::Theme, iced::Renderer>>,
|
content: impl Into<Element<'a, Message, crate::Theme, iced::Renderer>>,
|
||||||
) -> Element<'a, Message, crate::Theme, iced::Renderer>
|
) -> Element<'a, Message, crate::Theme, iced::Renderer>
|
||||||
where
|
where
|
||||||
Message: From<ToastMessage> + Clone + 'a,
|
Message: From<ToastMessage> + Clone + 'static,
|
||||||
{
|
{
|
||||||
let make_toast = |toast: &'a Toast<Message>| {
|
let make_toast = |toast: &'a Toast<Message>| {
|
||||||
let row = row()
|
let row = row()
|
||||||
.push(text(&toast.message))
|
.push(text(&toast.message))
|
||||||
.push_maybe(toast.action.as_ref().map(|action| {
|
.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);
|
.align_items(iced::Alignment::Center);
|
||||||
|
|
||||||
container(row)
|
container(row)
|
||||||
|
|
@ -157,12 +157,10 @@ impl<Message> Toasts<Message> {
|
||||||
|
|
||||||
self.toasts.push_back(toast);
|
self.toasts.push_back(toast);
|
||||||
|
|
||||||
Command::perform(
|
crate::command::future(async move {
|
||||||
async move {
|
|
||||||
tokio::time::sleep(duration).await;
|
tokio::time::sleep(duration).await;
|
||||||
},
|
crate::app::Message::App(Message::from(message))
|
||||||
|_| crate::app::Message::App(message.into()),
|
})
|
||||||
)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// Handle the [`ToastMessage`]
|
/// Handle the [`ToastMessage`]
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue