import { Toaster as SonnerToaster, toast } from "sonner";

/** Toast host mounted once in AdminLayout; use `toast.success(...)` / `toast.error(...)` anywhere. */
export function Toaster() {
  return (
    <SonnerToaster
      theme="light"
      position="top-right"
      closeButton
      // Keep every part of the Sonner UI on the same token system as the admin.
      toastOptions={{
        duration: 4000,
        classNames: {
          toast: "!rounded-lg !border !border-(--color-border) !bg-(--color-surface) !px-4 !py-3 !font-[var(--font-body)] !text-(--color-ink) !shadow-(--shadow-lg)",
          title: "!text-sm !font-semibold !text-(--color-ink)",
          description: "!text-sm !text-(--color-ink-muted)",
          closeButton: "!rounded-md !border-(--color-border) !bg-(--color-surface) !text-(--color-ink-muted) hover:!bg-(--color-surface-2) hover:!text-(--color-ink)",
          success: "!border-l-4 !border-l-(--color-success)",
          error: "!border-l-4 !border-l-(--color-danger)",
          warning: "!border-l-4 !border-l-(--color-warning)",
          info: "!border-l-4 !border-l-(--color-info)",
        },
      }}
    />
  );
}

export { toast };
