Skip to main content

quokka_admin/data/
toast.rs

1///
2/// The severity of a toast message. A toast always needs one.
3///
4#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
5pub enum Severity {
6    Info,
7    Success,
8    Warning,
9    Critical,
10}
11
12#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
13pub struct Toast {
14    title: String,
15    message: String,
16    severity: Severity,
17}
18
19impl Severity {
20    pub fn message(self, title: impl ToString, message: impl ToString) -> Toast {
21        Toast {
22            title: title.to_string(),
23            message: message.to_string(),
24            severity: self,
25        }
26    }
27}
28
29impl Toast {
30    pub fn info() -> Severity {
31        Severity::Info
32    }
33
34    pub fn success() -> Severity {
35        Severity::Success
36    }
37
38    pub fn warning() -> Severity {
39        Severity::Warning
40    }
41
42    pub fn critical() -> Severity {
43        Severity::Critical
44    }
45}