mirror of
https://github.com/ankitects/anki.git
synced 2025-09-20 15:02:21 -04:00
30 lines
662 B
TypeScript
30 lines
662 B
TypeScript
import { mount, unmount } from "svelte";
|
|
import Toast from "./Toast.svelte";
|
|
import type { ToastProps } from "./types";
|
|
|
|
const toastProps: ToastProps = $state({
|
|
showToast: false,
|
|
type: "success",
|
|
message: "",
|
|
});
|
|
|
|
export function initToast(): Toast {
|
|
return mount(Toast, {
|
|
target: document.body,
|
|
props: toastProps,
|
|
});
|
|
}
|
|
|
|
export function destroyToast(toast: Toast) {
|
|
unmount(toast);
|
|
}
|
|
|
|
export function showToast(message: string, type: "success" | "error") {
|
|
toastProps.message = message;
|
|
toastProps.type = type;
|
|
toastProps.showToast = true;
|
|
}
|
|
|
|
export function hideToast() {
|
|
toastProps.showToast = false;
|
|
}
|