diff --git a/frontend/composables/useToast.ts b/frontend/composables/useToast.ts new file mode 100644 index 0000000..95bec80 --- /dev/null +++ b/frontend/composables/useToast.ts @@ -0,0 +1,32 @@ +type Toast = { + id: number; + message: string; + description?: string; + duration?: number; +} + +type Props = { + message: string, + description?: string, + options?: Omit +} + +const toasts = ref([]); + +export function useToast() { + const addToast = ({ message, description, options = {} }: Props) => { + const id = Date.now(); + + toasts.value.push({ id, message, description, ...options }); + }; + + const destroyToast = (id: number) => { + toasts.value = toasts.value.filter(toast => toast.id !== id); + }; + + return { + toasts, + addToast, + destroyToast + }; +} \ No newline at end of file