import { useToast } from 'vue-toastification';
import Toast from 'vue-toastification';
import { POSITION, type PluginOptions } from 'vue-toastification';
import 'vue-toastification/dist/index.css';

export default defineNuxtPlugin((nuxtApp) => {
  const options: PluginOptions = {
    position: POSITION.TOP_RIGHT,
    timeout: 3000,
    closeOnClick: true,
    pauseOnFocusLoss: true,
    pauseOnHover: true,
    draggable: true,
    draggablePercent: 0.6,
    showCloseButtonOnHover: false,
    hideProgressBar: false,
    closeButton: 'button',
    icon: true,
    rtl: false,
  };

  nuxtApp.vueApp.use(Toast, options);

  // Provide useToast composable globally
  nuxtApp.provide('useToast', useToast);
});
