import log from "electron-log"; import type { $Bus } from "~/plugins/emitter"; export enum ToastTypeEnum { default = "default", success = "success", info = "info", error = "error", warning = "warning", } export const ToastType = Object.freeze({ default: ToastTypeEnum.default, success: ToastTypeEnum.success, info: ToastTypeEnum.info, error: ToastTypeEnum.error, warning: ToastTypeEnum.warning, }); export default abstract class Toast { /** Affiche un toast message */ public static toast(message: string, type: ToastTypeEnum = ToastType.default, title: string | null = null): void { const $bus = useNuxtApp().$bus as $Bus; $bus.$emit("toast", {message, type, title}); const prefix: string = `${type.toLowerCase()} : `; switch (type) { case ToastType.info: log.info(prefix, message); break; case ToastType.warning: log.warn(prefix, message); break; case ToastType.error: log.error(prefix, message); break; case ToastType.default: case ToastType.success: default: log.verbose(prefix, message); } } }