feat: make toasts available on all routes

This commit is contained in:
alphafetus committed 2026-01-12 15:52:17 -05:00
1 parent 865410b6f2
commit de7b8633ff
4 files changed
+121 -96

No files matched your search

+9 -2
View File
@@ -4,6 +4,7 @@ use crate::components::toasts::toast::Toast;
#[derive(Clone, Debug)]
pub struct Toast {
id: String,
header: String,
message: String,
}
@@ -11,10 +12,16 @@ impl Toast {
pub fn new() -> Self {
Toast {
id: "".to_owned(),
header: "".to_owned(),
message: "".to_owned(),
}
}
pub fn header(mut self, header: impl Into<String>) -> Self {
self.header = header.into();
self
}
pub fn msg(mut self, msg: impl Into<String>) -> Self {
self.message = msg.into();
self
@@ -61,11 +68,11 @@ pub fn ToastList(
<For
each=move || context.messages.get()
key=|toast| toast.id.clone()
let(Toast { id, message })
let(Toast { id, header, message })
>
<Toast
message=message
title="Testing Toast"
title=header
on_close=move || {
context.messages.update(|list|
list.retain(|v| v.id != id)