+function alertAdd(data: alertData, ...buttons: any[]) {
+ if (!buttons.length) {
+ buttons = [
+ {
+ name: "OK",
+ color: "green",
+ returnValue: true,
+ },
+ ]
+ }
+ return new Promise(promiseResolve => {
+ alertsList.value.push({
+ promiseResolve,
+ show: true,
+ title: data?.title || "",
+ body: data?.body ?? data.body,
+ buttons,
+ })
+ })
+}
+
+document.onkeydown = function (evt) {
+ if (alertsList.value.length) {
+ evt = evt || window.event
+ if ("key" in evt) {
+ if (evt.key === "Escape" || evt.key === "Esc") {
+ alertRemove(alertsList.value.length, false)
+ }
+ if (evt.key === "Enter") {
+ alertRemove(alertsList.value.length, true)
+ }
+ }
+ }
+}
+
+function alertRemove(index: number, returnValue: any) {
+ const removeData = alertsList.value[index]
+ removeData.promiseResolve(returnValue)
+ alertsList.value.splice(index, 1)
+}
+
+export { alertRemove, alertsList, alertAdd }
+
+export default alertAdd
diff --git a/_project/frontend-nuxt/composables/intl.ts b/_project/frontend-nuxt/composables/intl.ts
index f863e7dbf..7baae8a2f 100644
--- a/_project/frontend-nuxt/composables/intl.ts
+++ b/_project/frontend-nuxt/composables/intl.ts
@@ -19,6 +19,11 @@ const messages = {
"validation.string.maxLength": `Das Feld darf nicht mehr als {maxLength} Zeichen haben`,
"validation.string.minLength": `Das Feld muss mindestens {minLength} Zeichen enthalten`,
"validation.not_a_valid": `Der eingegebene Wert ist kein gültiger {type}: {message}`,
+ "fe.version.button": "Neue Version verfügbar",
+ "fe.version.alert.title": "Neue Version verfügbar!",
+ "fe.version.alert.body": "Neue Version verfügbar, Seite neu laden?",
+ "fe.version.alert.yes": "Ja",
+ "fe.version.alert.no": "Nein",
},
en: {
"handle.success": "{action} Success",
@@ -41,6 +46,11 @@ const messages = {
"The field requires at least {minLength} characters",
"validation.not_a_valid":
"The entered value is not a valid {type}: {message}",
+ "fe.version.button": "New version available",
+ "fe.version.alert.title": "New version available!",
+ "fe.version.alert.body": "New version available, reload page?",
+ "fe.version.alert.yes": "Yes",
+ "fe.version.alert.no": "No",
},
}
diff --git a/_project/frontend-nuxt/layouts/default.vue b/_project/frontend-nuxt/layouts/default.vue
index 17ff2116b..42d8dd1fd 100644
--- a/_project/frontend-nuxt/layouts/default.vue
+++ b/_project/frontend-nuxt/layouts/default.vue
@@ -39,6 +39,7 @@ onMounted(() => {
{{ currentUser.displayName }}
+