pub struct Toast<Message: Clone> {
pub id: u64,
pub title: String,
pub message: String,
pub intent: ToastIntent,
pub lifetime: ToastLifetime,
pub created_at: Instant,
pub on_dismiss: Message,
}Expand description
A toast notification.
Message is your application’s top-level message type. The on_dismiss
field is fired when the user clicks the toast’s close button. It is not
fired when a transient toast expires; expiration is a silent sweep.
Fields§
§id: u64Application-assigned id. snora does not interpret or generate ids;
the application is the source of truth. Typically a monotonically
increasing u64.
title: String§message: String§intent: ToastIntent§lifetime: ToastLifetime§created_at: InstantWhen this toast was enqueued. Used with lifetime to compute
expiration.
on_dismiss: MessageEmitted when the user clicks the close button.
Implementations§
Source§impl<Message: Clone> Toast<Message>
impl<Message: Clone> Toast<Message>
Sourcepub fn new(
id: u64,
intent: ToastIntent,
title: impl Into<String>,
message: impl Into<String>,
on_dismiss: Message,
) -> Self
pub fn new( id: u64, intent: ToastIntent, title: impl Into<String>, message: impl Into<String>, on_dismiss: Message, ) -> Self
Build a new toast with created_at set to Instant::now().
This constructor takes the mandatory fields positionally and uses
ToastLifetime::DEFAULT for the lifetime. Use builder-style
methods below to customize further.
Sourcepub fn with_lifetime(self, lifetime: ToastLifetime) -> Self
pub fn with_lifetime(self, lifetime: ToastLifetime) -> Self
Override the lifetime.
Sourcepub fn persistent(self) -> Self
pub fn persistent(self) -> Self
Make this toast persistent (never auto-dismiss).
Sourcepub fn with_created_at(self, created_at: Instant) -> Self
pub fn with_created_at(self, created_at: Instant) -> Self
Override the creation timestamp. Mainly useful for tests.
Sourcepub fn is_expired(&self, now: Instant) -> bool
pub fn is_expired(&self, now: Instant) -> bool
True when this toast has outlived its transient deadline.
Persistent toasts always return false.