ratatui_toolkit/primitives/toast/constructors/
toast_new.rs

1use crate::primitives::toast::{Toast, ToastLevel, DEFAULT_TOAST_DURATION};
2use std::time::{Duration, Instant};
3
4impl Toast {
5    /// Create a new toast with an optional duration.
6    ///
7    /// If `duration` is `None`, uses the default duration (5 seconds).
8    ///
9    /// # Arguments
10    ///
11    /// * `message` - The toast message
12    /// * `level` - The toast level (Success, Error, Info, Warning)
13    /// * `duration` - Optional duration, defaults to 5 seconds if None
14    pub fn new(message: impl Into<String>, level: ToastLevel, duration: Option<Duration>) -> Self {
15        Self {
16            message: message.into(),
17            level,
18            created_at: Instant::now(),
19            duration: duration.unwrap_or(DEFAULT_TOAST_DURATION),
20        }
21    }
22}