diff --git a/public/locales/de.json b/public/locales/de.json index 8644c62..bc269bf 100644 --- a/public/locales/de.json +++ b/public/locales/de.json @@ -376,11 +376,11 @@ }, "iconLabel": "Icon", "invalidDate": "Bitte ein gültiges Datum im ausgewählten Format verwenden.", - "attachmentLabel": "Attachment", - "attachmentHint": "Attach a local image, PDF, or document. Images will be shown in the event popup.", - "attachmentFallback": "Attachment", - "attachmentReadError": "The attachment could not be read.", - "attachmentTooLarge": "Attachment may be at most 5 MB." + "attachmentLabel": "Anhang", + "attachmentHint": "Lokales Bild, PDF oder Dokument anhängen. Bilder werden im Ereignis-Popup angezeigt.", + "attachmentFallback": "Anhang", + "attachmentReadError": "Der Anhang konnte nicht gelesen werden.", + "attachmentTooLarge": "Der Anhang darf höchstens 5 MB groß sein." }, "notes": { "title": "Notizen", diff --git a/public/locales/pt.json b/public/locales/pt.json index d74decc..e02332e 100644 --- a/public/locales/pt.json +++ b/public/locales/pt.json @@ -362,8 +362,8 @@ "attachmentLabel": "Anexo", "attachmentHint": "Anexe uma imagem, PDF ou documento local. Imagens aparecem no pop-up do evento.", "attachmentFallback": "Anexo", - "attachmentReadError": "Nao foi possivel ler o anexo.", - "attachmentTooLarge": "O anexo pode ter no maximo 5 MB." + "attachmentReadError": "Não foi possível ler o anexo.", + "attachmentTooLarge": "O anexo pode ter no máximo 5 MB." }, "notes": { "title": "Quadro de notas", diff --git a/public/pages/birthdays.js b/public/pages/birthdays.js index cbb2f23..468ce68 100644 --- a/public/pages/birthdays.js +++ b/public/pages/birthdays.js @@ -322,7 +322,8 @@ function openBirthdayModal({ mode, birthday = null }) { const fileInput = panel.querySelector('#bd-photo'); const photoEdit = panel.querySelector('#bd-photo-edit'); const renderPreview = () => { - preview.innerHTML = birthdayPreviewHtml(nameInput.value.trim(), photoData); + preview.replaceChildren(); + preview.insertAdjacentHTML('beforeend', birthdayPreviewHtml(nameInput.value.trim(), photoData)); }; nameInput.addEventListener('input', renderPreview); preview.addEventListener('click', () => fileInput?.click()); diff --git a/public/pages/calendar.js b/public/pages/calendar.js index f521330..c0ee129 100644 --- a/public/pages/calendar.js +++ b/public/pages/calendar.js @@ -1266,16 +1266,16 @@ function openEventModal({ mode, event = null, date = null, reminder = null }) { }; const syncAttachmentPreview = () => { if (!attachmentPreview) return; - attachmentPreview.innerHTML = ''; + attachmentPreview.replaceChildren(); if (!attachmentState.data) { attachmentPreview.hidden = true; return; } attachmentPreview.hidden = false; if (isImageAttachment(attachmentState.mime)) { - attachmentPreview.innerHTML = `${esc(attachmentState.name || '')}`; + attachmentPreview.insertAdjacentHTML('beforeend', `${esc(attachmentState.name || '')}`); } else { - attachmentPreview.innerHTML = `${esc(attachmentState.name || '')}`; + attachmentPreview.insertAdjacentHTML('beforeend', `${esc(attachmentState.name || '')}`); } }; attachmentInput?.addEventListener('change', async () => {