"use client";
import type { ReactNode } from "react";
import { useLocale } from "next-intl";
import { Toaster } from "sonner";
import {
AlertCircle,
CheckCircle2,
Info,
Loader2,
TriangleAlert,
} from "lucide-react";
import { cn } from "@/lib/utils";
function iconWrap(className: string, icon: ReactNode) {
return (
{icon}
);
}
export function MeeziToaster() {
const locale = useLocale();
const isRtl = locale !== "en";
const isEn = locale === "en";
const fontClass = isEn
? "font-[family-name:var(--font-inter)]"
: "font-[family-name:var(--font-vazirmatn)]";
const toastBase = cn(
"group relative flex w-[min(calc(100vw-2rem),400px)] items-start gap-3 overflow-hidden",
"rounded-xl border border-border/60 bg-card/95 py-3.5 ps-3.5 pe-10",
"shadow-[0_10px_40px_-8px_rgba(15,23,42,0.16)] backdrop-blur-md",
"transition-[transform,opacity] duration-200",
fontClass
);
const titleClass = "text-[13px] font-semibold leading-snug tracking-tight text-foreground";
const descriptionClass = "text-xs leading-relaxed text-muted-foreground";
return (
),
error: iconWrap(
"bg-red-50",
),
warning: iconWrap(
"bg-amber-50",
),
info: iconWrap(
"bg-[#0C447C]/10",
),
loading: iconWrap(
"bg-primary/10",
),
}}
/>
);
}