mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 19:51:09 -04:00
31 lines
725 B
JavaScript
31 lines
725 B
JavaScript
import { defineStore } from 'pinia'
|
|
|
|
export const useNotificationStore = (useWindow = false) => {
|
|
const defineStoreFunc = useWindow ? window.pinia.defineStore : defineStore
|
|
|
|
return defineStoreFunc({
|
|
id: 'notification',
|
|
|
|
state: () => ({
|
|
active: false,
|
|
autoHide: true,
|
|
notifications: [],
|
|
}),
|
|
|
|
actions: {
|
|
showNotification(notification) {
|
|
this.notifications.push({
|
|
...notification,
|
|
id: (Math.random().toString(36) + Date.now().toString(36)).substr(2),
|
|
})
|
|
},
|
|
|
|
hideNotification(data) {
|
|
this.notifications = this.notifications.filter((notification) => {
|
|
return notification.id != data.id
|
|
})
|
|
}
|
|
}
|
|
})()
|
|
}
|