"use client"; import { sileo, type SileoOptions } from "sileo"; // Wrapper fino sobre sileo para unificar copy en espaƱol y defaults. // Uso: notify.success("Ticket creado"), notify.error("No se pudo guardar", err) const DEFAULT_DURATION = 5000; function base(title: string, description?: string): SileoOptions { return { title, description, duration: DEFAULT_DURATION }; } export const notify = { success(title: string, description?: string, opts?: Partial) { return sileo.success({ ...base(title, description), ...opts }); }, error(title: string, description?: string, opts?: Partial) { return sileo.error({ ...base(title, description), ...opts }); }, warning(title: string, description?: string, opts?: Partial) { return sileo.warning({ ...base(title, description), ...opts }); }, info(title: string, description?: string, opts?: Partial) { return sileo.info({ ...base(title, description), ...opts }); }, action( title: string, buttonTitle: string, onClick: () => void, description?: string, opts?: Partial ) { return sileo.action({ ...base(title, description), button: { title: buttonTitle, onClick }, ...opts, }); }, promise( promise: Promise | (() => Promise), messages: { loading: string; success: string | ((data: T) => string); error: string | ((err: unknown) => string); } ) { const { loading, success, error } = messages; return sileo.promise(promise, { loading: { title: loading }, success: typeof success === "function" ? (data: T) => ({ title: (success as (d: T) => string)(data) }) : { title: success }, error: typeof error === "function" ? (err: unknown) => ({ title: (error as (e: unknown) => string)(err) }) : { title: error }, }); }, dismiss: sileo.dismiss, clear: sileo.clear, };