From b69432610bacc0aabeff06d3b334815c2701d849 Mon Sep 17 00:00:00 2001 From: Gamosoft Date: Fri, 19 Dec 2025 15:42:45 +0100 Subject: [PATCH] added option to create note --- frontend/app.js | 16 +++++++++++++++- locales/de-DE.json | 1 + locales/en-US.json | 1 + locales/es-ES.json | 1 + locales/fr-FR.json | 1 + locales/sl-SI.json | 1 + locales/zh-CN.json | 1 + 7 files changed, 21 insertions(+), 1 deletion(-) diff --git a/frontend/app.js b/frontend/app.js index c2854b9..899b470 100644 --- a/frontend/app.js +++ b/frontend/app.js @@ -2249,7 +2249,21 @@ function noteApp() { } }); } else { - alert(this.t('notes.not_found', { path: notePath })); + // Note doesn't exist - offer to create it + if (confirm(this.t('notes.create_from_link', { path: notePath }))) { + const newPath = notePath.endsWith('.md') ? notePath : `${notePath}.md`; + fetch(`/api/notes/${newPath}`, { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ content: '' }) + }).then(response => { + if (response.ok) { + const folderPath = newPath.includes('/') ? newPath.substring(0, newPath.lastIndexOf('/')) : ''; + if (folderPath) this.expandedFolders.add(folderPath); + this.loadNotes().then(() => this.loadNote(newPath)); + } + }); + } } }, diff --git a/locales/de-DE.json b/locales/de-DE.json index ad5cd27..c2669bd 100644 --- a/locales/de-DE.json +++ b/locales/de-DE.json @@ -80,6 +80,7 @@ "invalid_name": "Ungültiger Notizname.", "empty_name": "Der Notizname darf nicht leer sein.", "not_found": "Notiz nicht gefunden: {{path}}", + "create_from_link": "Notiz \"{{path}}\" existiert nicht.\n\nMöchten Sie sie erstellen?", "no_content": "Kein Inhalt zum Exportieren", "open_first": "Bitte öffne zuerst eine Notiz, bevor du Bilder hochlädst." }, diff --git a/locales/en-US.json b/locales/en-US.json index fa53d45..10ede19 100644 --- a/locales/en-US.json +++ b/locales/en-US.json @@ -80,6 +80,7 @@ "invalid_name": "Invalid note name.", "empty_name": "Note name cannot be empty.", "not_found": "Note not found: {{path}}", + "create_from_link": "Note \"{{path}}\" doesn't exist.\n\nWould you like to create it?", "no_content": "No note content to export", "open_first": "Please open a note first before uploading images." }, diff --git a/locales/es-ES.json b/locales/es-ES.json index 3747382..6d3fe51 100644 --- a/locales/es-ES.json +++ b/locales/es-ES.json @@ -80,6 +80,7 @@ "invalid_name": "Nombre de nota inválido.", "empty_name": "El nombre de la nota no puede estar vacío.", "not_found": "Nota no encontrada: {{path}}", + "create_from_link": "La nota \"{{path}}\" no existe.\n\n¿Desea crearla?", "no_content": "No hay contenido para exportar", "open_first": "Por favor, abre una nota antes de subir imágenes." }, diff --git a/locales/fr-FR.json b/locales/fr-FR.json index 23805ad..34009d5 100644 --- a/locales/fr-FR.json +++ b/locales/fr-FR.json @@ -80,6 +80,7 @@ "invalid_name": "Nom de note invalide.", "empty_name": "Le nom de la note ne peut pas être vide.", "not_found": "Note introuvable : {{path}}", + "create_from_link": "La note \"{{path}}\" n'existe pas.\n\nVoulez-vous la créer ?", "no_content": "Aucun contenu à exporter", "open_first": "Veuillez d'abord ouvrir une note avant de télécharger des images." }, diff --git a/locales/sl-SI.json b/locales/sl-SI.json index dcd2e5c..ad72096 100644 --- a/locales/sl-SI.json +++ b/locales/sl-SI.json @@ -80,6 +80,7 @@ "invalid_name": "Neveljavno ime zapisa.", "empty_name": "Ime zapisa ne more biti prazno.", "not_found": "Zapisa ni mogoče najti: {{path}}", + "create_from_link": "Zapis \"{{path}}\" ne obstaja.\n\nAli ga želite ustvariti?", "no_content": "Ni vsebine za izvoz", "open_first": "Prosimo, najprej odprite zapis, preden naložite slike." }, diff --git a/locales/zh-CN.json b/locales/zh-CN.json index df3b137..f4daae1 100644 --- a/locales/zh-CN.json +++ b/locales/zh-CN.json @@ -80,6 +80,7 @@ "invalid_name": "无效的笔记名称。", "empty_name": "笔记名称不能为空。", "not_found": "未找到笔记:{{path}}", + "create_from_link": "笔记 \"{{path}}\" 不存在。\n\n是否要创建它?", "no_content": "没有可导出的笔记内容", "open_first": "请先打开一篇笔记,然后再上传图片。" },