diff --git a/assets/js/api.js b/assets/js/api.js index 211755ecb..9ba3b5b46 100644 --- a/assets/js/api.js +++ b/assets/js/api.js @@ -15,10 +15,14 @@ const api = axios.create({ api.interceptors.response.use( (response) => response, (error) => { - let message = error.message; + const message = [`${error.message}.`]; + if (error.response?.data?.error) { + message.push(`${error.response.data.error}.`); + } if (error.config) { + const method = error.config.method.toUpperCase(); const url = error.config.baseURL + error.config.url; - message += `: API request failed ${url}`; + message.push(`${method} ${url}`); } window.app.raise({ message }); return Promise.reject(error); diff --git a/assets/js/components/Notifications.vue b/assets/js/components/Notifications.vue index 4643d2755..ed6be3013 100644 --- a/assets/js/components/Notifications.vue +++ b/assets/js/components/Notifications.vue @@ -51,7 +51,13 @@ class="flex-grow-0 flex-shrink-0 d-block" > - {{ message(msg) }} + + {{ line }} + {{ msg.count }} @@ -107,11 +113,12 @@ export default { }, methods: { message({ message, lp }) { - let context = ""; + const lines = Array.isArray(message) ? message : [message]; if (lp) { - context = `${this.loadpointTitles[lp - 1] || lp}: `; + // add loadpoint title to first line + lines[0] = `${this.loadpointTitles[lp - 1] || lp}: ${lines[0]}`; } - return `${context}${message}`; + return lines; }, clear: function () { window.app && window.app.clear();