import { ExternalToast, toast as sonnerToast, Toaster } from "sonner" import { CheckCircleIcon, CloseLargeIcon, CrossCircle, InfoCircleIcon, WarningTriangle, } from "@/components/Icons" import Button from "../Button" import Body from "../Text/Body" import { ToastsProps } from "./toasts" import { toastVariants } from "./variants" import styles from "./toasts.module.css" export function ToastHandler() { return } function getIcon(variant: ToastsProps["variant"]) { switch (variant) { case "error": return CrossCircle case "info": return InfoCircleIcon case "success": return CheckCircleIcon case "warning": return WarningTriangle } } export function Toast({ message, onClose, variant }: ToastsProps) { const className = toastVariants({ variant }) const Icon = getIcon(variant) return (
{Icon && }
{message}
) } export const toast = { success: (message: string, options?: ExternalToast) => sonnerToast.custom( (t) => ( sonnerToast.dismiss(t)} /> ), options ), info: (message: string, options?: ExternalToast) => sonnerToast.custom( (t) => ( sonnerToast.dismiss(t)} /> ), options ), error: (message: string, options?: ExternalToast) => sonnerToast.custom( (t) => ( sonnerToast.dismiss(t)} /> ), options ), warning: (message: string, options?: ExternalToast) => sonnerToast.custom( (t) => ( sonnerToast.dismiss(t)} /> ), options ), }