diff --git a/vue3/src/components/dialogs/MessageListDialog.vue b/vue3/src/components/dialogs/MessageListDialog.vue index 85509c270..201b1816c 100644 --- a/vue3/src/components/dialogs/MessageListDialog.vue +++ b/vue3/src/components/dialogs/MessageListDialog.vue @@ -1,9 +1,9 @@ @@ -84,19 +90,21 @@ - Nachricht Details {{ DateTime.fromSeconds(detailItem.createdAt).toLocaleString(DateTime.DATETIME_MED) }} + {{$t('Created')}} {{ DateTime.fromSeconds(detailItem.createdAt).toLocaleString(DateTime.DATETIME_MED) }} - Typ + {{ $t('Type')}}
{{ detailItem.type }}
- Nachricht -

{{ detailItem.msg }}

+ {{$t('Messages')}} +
+ {{ detailItem.msg.title }}
+ {{ detailItem.msg.text }} - Data + {{ $t('Information')}}
{{ detailItem.data }}
@@ -118,8 +126,14 @@ import {computed, ref} from 'vue' import {Message, MessageType, useMessageStore} from "@/stores/MessageStore"; import {DateTime} from "luxon"; import {useClipboard} from "@vueuse/core"; +import {useI18n} from "vue-i18n"; const {copy} = useClipboard() +const {t} = useI18n() + +const props = defineProps({ + activator: {default: 'parent'} +}) /** * loads messages from store and filters them according to selected message types @@ -137,10 +151,10 @@ const displayItems = computed(() => { const sortBy = ref([{key: 'createdAt', order: 'desc'}]) const search = ref('') const tableHeaders = ref([ - {title: 'Typ', key: 'type'}, - {title: 'Erstellt', key: 'createdAt'}, - {title: 'Nachricht', key: 'msg'}, - {title: 'Actions', key: 'actions', align: 'end'}, + {title: t('Type'), key: 'type'}, + {title: t('Created'), key: 'createdAt'}, + {title: t('Message'), key: 'msg'}, + {title: t('Actions'), key: 'actions', align: 'end'}, ]) const typeFilter = ref([MessageType.SUCCESS, MessageType.INFO, MessageType.WARNING, MessageType.ERROR]) const detailItem = ref({} as Message) @@ -151,7 +165,7 @@ const showDetailDialog = ref(false) */ function addTestMessage() { let types = [MessageType.SUCCESS, MessageType.ERROR, MessageType.INFO, MessageType.WARNING] - useMessageStore().addMessage(types[Math.floor(Math.random() * types.length)], `Lorem Ipsum ${Math.random() * 1000}`, 5000, {json: "data", 'msg': 'whatever', data: 1}) + useMessageStore().addMessage(types[Math.floor(Math.random() * types.length)], {title: 'Test', text: `Lorem Ipsum ${Math.random() * 1000}`}, 5000, {json: "data", 'msg': 'whatever', data: 1}) } diff --git a/vue3/src/components/dialogs/ModelEditDialog.vue b/vue3/src/components/dialogs/ModelEditDialog.vue index cb6b89663..9f476582a 100644 --- a/vue3/src/components/dialogs/ModelEditDialog.vue +++ b/vue3/src/components/dialogs/ModelEditDialog.vue @@ -30,12 +30,13 @@ import SupermarketEditor from "@/components/model_editors/SupermarketEditor.vue" import SupermarketCategoryEditor from "@/components/model_editors/SupermarketCategoryEditor.vue"; import PropertyTypeEditor from "@/components/model_editors/PropertyTypeEditor.vue"; import AutomationEditor from "@/components/model_editors/AutomationEditor.vue"; +import {EditorSupportedModels} from "@/types/Models"; const emit = defineEmits(['create', 'save', 'delete']) const props = defineProps({ model: { - type: String as PropType<'UnitConversion' | 'AccessToken'| 'InviteLink' | 'UserSpace' | 'MealType' | 'Property' | 'Food' | 'Supermarket' | 'SupermarketCategory' | 'PropertyType' | 'Automation'>, + type: String as PropType, required: true, }, item: {default: null}, diff --git a/vue3/src/components/display/VSnackbarQueued.vue b/vue3/src/components/display/VSnackbarQueued.vue index d9a046d52..e019a80fb 100644 --- a/vue3/src/components/display/VSnackbarQueued.vue +++ b/vue3/src/components/display/VSnackbarQueued.vue @@ -1,29 +1,35 @@