import { isBrowser } from "@utils/browser"; import { ThemeColor } from "@utils/types"; import Toastify from "toastify-js"; import { i18n } from "./i18next"; export function toast(text: string, background: ThemeColor = "success") { if (isBrowser()) { const backgroundColor = `var(--bs-${background})`; Toastify({ text: text, backgroundColor: backgroundColor, gravity: "bottom", position: "left", duration: 5000, }).showToast(); } } export function pictrsDeleteToast(filename: string, deleteUrl: string) { if (isBrowser()) { const clickToDeleteText = i18n.t("click_to_delete_picture", { filename }); const deletePictureText = i18n.t("picture_deleted", { filename, }); const failedDeletePictureText = i18n.t("failed_to_delete_picture", { filename, }); const backgroundColor = `var(--bs-light)`; const toast = Toastify({ text: clickToDeleteText, backgroundColor: backgroundColor, gravity: "top", position: "right", duration: 10000, onClick: () => { if (toast) { fetch(deleteUrl).then(res => { toast.hideToast(); if (res.ok === true) { alert(deletePictureText); } else { alert(failedDeletePictureText); } }); } }, close: true, }); toast.showToast(); } }