feat: add toast component

This commit is contained in:
2026-05-07 17:01:33 +02:00
parent 73155dcb46
commit 308626bcdc
4 changed files with 132 additions and 3 deletions
+24
View File
@@ -0,0 +1,24 @@
export type ToastType = 'info' | 'success' | 'error';
export type ToastItem = {
id: number;
message: string;
type: ToastType;
};
let _toasts = $state<ToastItem[]>([]);
let _nextId = 0;
export const toasts = {
get value() {
return _toasts;
}
};
export function toast(message: string, type: ToastType = 'info', duration = 3000) {
const id = _nextId++;
_toasts.push({ id, message, type });
setTimeout(() => {
_toasts = _toasts.filter((t) => t.id !== id);
}, duration);
}