working on flashMessags
This commit is contained in:
64
resources/js/components/FlashMessages.vue
Normal file
64
resources/js/components/FlashMessages.vue
Normal file
@@ -0,0 +1,64 @@
|
||||
<template>
|
||||
</template>
|
||||
<script setup>
|
||||
import { useMessage } from 'naive-ui'
|
||||
import { watch, defineProps, onUpdated, onMounted } from 'vue'
|
||||
|
||||
const message = useMessage()
|
||||
const props = defineProps(['messages'])
|
||||
|
||||
onMounted(() => {
|
||||
displayNewMessages(props.messages)
|
||||
})
|
||||
|
||||
onUpdated(() => {
|
||||
displayNewMessages(props.messages)
|
||||
})
|
||||
|
||||
function displayNewMessages(messages) {
|
||||
|
||||
if (messages) {
|
||||
const stack = [messages];
|
||||
while (stack?.length > 0) {
|
||||
const currentObj = stack.pop();
|
||||
Object.keys(currentObj).forEach(key => {
|
||||
console.log(`key: ${key}, value: ${currentObj[key]}`);
|
||||
|
||||
if (typeof currentObj[key] === 'object' && currentObj[key] !== null) {
|
||||
stack.push(currentObj[key]);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if(temp?.errors) {
|
||||
for (let key in temp.errors){
|
||||
message.error(translateError(temp.errors[key]),{
|
||||
closable: true
|
||||
})
|
||||
delete temp.errors[key]
|
||||
}
|
||||
if(isEmpty(temp.errors)) delete temp['errors']
|
||||
}
|
||||
if(!isEmpty(temp)) {
|
||||
message.error(JSON.stringify(temp),{
|
||||
closable: true
|
||||
})
|
||||
}*/
|
||||
}
|
||||
|
||||
function translateError(errorMsg) {
|
||||
switch(errorMsg.split(":")[0]) {
|
||||
case 'E_INVALID_AUTH_PASSWORD':
|
||||
return "Falsches Passwort eingegeben."
|
||||
case 'E_INVALID_AUTH_UID':
|
||||
return "Benutzername nicht gefunden"
|
||||
}
|
||||
return errorMsg
|
||||
}
|
||||
|
||||
function isEmpty(obj) {
|
||||
return Object.keys(obj).length === 0;
|
||||
}
|
||||
</script>
|
||||
Reference in New Issue
Block a user