import { ref } from 'vue'; import { defineStore } from 'pinia'; import type { Alert } from '@/types'; export const useAlertStore = defineStore('alerts', () => { const alerts = ref([]); function addAlert(message: string, type: 'info' | 'success' | 'warning' | 'error', seconds: number) { alerts.value.push({ message, type, created: new Date(), seconds }); } function alertSuccess(message: string, seconds = 2) { addAlert(message, 'success', seconds); } function alertInfo(message: string, seconds = 3) { addAlert(message, 'info', seconds); } function alertWarning(message: string, seconds = 4) { addAlert(message, 'warning', seconds); } function alertError(message: string, seconds = 5) { addAlert(message, 'error', seconds); } return { alerts, alertSuccess, alertInfo, alertWarning, alertError }; })