import Vue3Toastify, { toast } from 'vue3-toastify'; import 'vue3-toastify/dist/index.css'; import CheckCircleToast from "#adata-ui/icons/toasts/check-circle-toast.vue"; import WarningTriangleToast from "#adata-ui/icons/toasts/warning-triangle-toast.vue"; import XMark from "#adata-ui/icons/x-mark.vue"; export default defineNuxtPlugin((nuxtApp) => { nuxtApp.vueApp.use(Vue3Toastify, { autoClose: 2500, theme: 'auto' }); const customSuccessToast = (message, options?:any) => { toast.success(message, { position: 'top-right', toastStyle: { background:'#EEF7EE', borderRadius: '8px', padding: '16px', fontWeight: '500', fontSize:'16px', color:'#4CAF50' }, bodyClassName:'toast__body', progressStyle:{ background:'#4CAF5080' }, closeButton: XMark, icon: CheckCircleToast, ...options, }); }; const customErrorToast = (message, options?:any) => { toast.error(message, { position: 'top-right', toastStyle: { background:'#FDECEB', borderRadius: '8px', padding: '16px', fontWeight: '500', fontSize:'16px', color:'#E74135' }, bodyClassName:'toast__body', progressStyle:{ background:'#E7413533' }, closeButton: XMark, icon: WarningTriangleToast, ...options, }); }; return { provide: { toast: { ...toast, success: customSuccessToast, error: customErrorToast, }, }, }; });