ldc-showroom/classes/Toast.ts
Jérémy Munsch e9a18f5dce
Fix ts errors
2024-02-02 10:44:23 +01:00

43 lines
1.3 KiB
TypeScript

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);
}
}
}