Files
onboard/resources/js/Composables/useNotification.js

51 lines
1.4 KiB
JavaScript

import {h} from "vue";
import {NCode, NLog} from "naive-ui"
export function useNotification() {
const showNotification = (options) => {
if (window.$notification) {
return window.$notification.create(options)
}
return null
}
const success = (title, description = '', options = {}) => {
return showNotification(
{
title,
description,
meta: options.meta || new Date().toLocaleDateString(),
...options,
type: 'success'
}
)
}
const errorApi = (data, content = '', options = {}) => {
return showNotification(
{
title: 'Произошла ошибка',
description: `Код: ${data.code}\nURL: ${data.response.config.url}\nМетод: ${data.response.config.method.toUpperCase()}`,
content: () => {
return h(
NLog,
{
rows: 4,
log: data.response.config.data,
}
)
},
meta: options.meta || new Date().toLocaleDateString(),
...options,
type: 'error'
}
)
}
return {
errorApi,
success
}
}