File size: 539 Bytes
4d70170 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
import { computed, ref } from 'vue'
export interface ErrorMessage {
message: string
icon: string
}
const errors = ref<ErrorMessage[]>([])
export function putError(message: string, icon: string = null) {
// Dedupe
if (errors.value.find(e => e.message === message)) {
return
}
errors.value.push({
message,
icon,
})
}
export function clearError() {
errors.value.shift()
}
export function useError() {
const error = computed(() => errors.value[0])
return {
error,
putError,
clearError,
}
}
|