From: PhiTux Date: Mon, 28 Apr 2025 21:48:08 +0000 (+0200) Subject: insertion of templates works X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=9df0f5771e15051c8554ea35a38da006838c814c;p=DailyTxT.git insertion of templates works --- diff --git a/frontend/src/lib/TemplateDropdown.svelte b/frontend/src/lib/TemplateDropdown.svelte new file mode 100644 index 0000000..bf94081 --- /dev/null +++ b/frontend/src/lib/TemplateDropdown.svelte @@ -0,0 +1,25 @@ + + + + + diff --git a/frontend/src/lib/templateStore.js b/frontend/src/lib/templateStore.js index 6f04ae5..2f701bd 100644 --- a/frontend/src/lib/templateStore.js +++ b/frontend/src/lib/templateStore.js @@ -1,3 +1,4 @@ import { writable } from "svelte/store"; -export const templates = writable([]); \ No newline at end of file +export const templates = writable([]); +export const insertTemplate = writable(null); \ No newline at end of file diff --git a/frontend/src/routes/+layout.svelte b/frontend/src/routes/+layout.svelte index b3368ed..30b742d 100644 --- a/frontend/src/routes/+layout.svelte +++ b/frontend/src/routes/+layout.svelte @@ -20,7 +20,7 @@ import trianglify from 'trianglify'; import { tags } from '$lib/tagStore.js'; import TagModal from '$lib/TagModal.svelte'; - import { alwaysShowSidenav, offcanvasIsOpen } from '$lib/helpers.js'; + import { alwaysShowSidenav } from '$lib/helpers.js'; import { templates } from '$lib/templateStore'; import { faRightFromBracket, @@ -253,9 +253,6 @@ .then((response) => { $templates = response.data; - // add "new template" option to start - $templates.unshift({ name: 'Neue Vorlage erstellen...', text: '' }); - selectedTemplate = null; updateSelectedTemplate(); }) @@ -289,7 +286,7 @@ if (isSavingTemplate) return; isSavingTemplate = true; - if (selectedTemplate === 0) { + if (selectedTemplate === '-1') { // add new template $templates.push({ name: templateName, text: templateText }); } else { @@ -298,9 +295,6 @@ $templates[selectedTemplate].text = templateText; } - // remove first "new template" option - $templates.shift(); - axios .post(API_URL + '/logs/saveTemplates', { templates: $templates @@ -328,7 +322,7 @@ let isDeletingTemplate = $state(false); function deleteTemplate() { - if (selectedTemplate === null || selectedTemplate === 0) return; + if (selectedTemplate === null || selectedTemplate === '-1') return; if (isDeletingTemplate) return; isDeletingTemplate = true; @@ -336,9 +330,6 @@ // remove template from list $templates.splice(selectedTemplate, 1); - // remove first "new template" option - $templates.shift(); - axios .post(API_URL + '/logs/saveTemplates', { templates: $templates @@ -367,7 +358,7 @@ } function updateSelectedTemplate() { - if (selectedTemplate === 0 || selectedTemplate === null) { + if (selectedTemplate === '-1' || selectedTemplate === null) { // new template templateName = ''; templateText = ''; @@ -766,6 +757,9 @@ aria-label="Select template" onchange={updateSelectedTemplate} > + {#each $templates as template, index}