From 218dfdd5c6e5c6d87dd10458535ed23e1f91e651 Mon Sep 17 00:00:00 2001 From: "@s.roertgen" Date: Wed, 23 Apr 2025 09:12:57 +0200 Subject: [PATCH] Add markdown editor to card modal --- src/lib/components/AddCardModal.svelte | 19 ++++++----- src/lib/components/Board.svelte | 2 +- src/lib/components/MarkdownEditor.svelte | 40 ++++++++++++++++++++++++ src/lib/ndk.js | 8 +++-- 4 files changed, 58 insertions(+), 11 deletions(-) create mode 100644 src/lib/components/MarkdownEditor.svelte diff --git a/src/lib/components/AddCardModal.svelte b/src/lib/components/AddCardModal.svelte index e3749b9..b7efc8e 100644 --- a/src/lib/components/AddCardModal.svelte +++ b/src/lib/components/AddCardModal.svelte @@ -1,29 +1,32 @@ - diff --git a/src/lib/components/Board.svelte b/src/lib/components/Board.svelte index b2a5665..bf6a2d6 100644 --- a/src/lib/components/Board.svelte +++ b/src/lib/components/Board.svelte @@ -111,8 +111,8 @@ {#each column.items as item (item?.id ?? item)}
+ {eventTitle(item)} {item.content} - {item.dTag}
{/each} diff --git a/src/lib/components/MarkdownEditor.svelte b/src/lib/components/MarkdownEditor.svelte new file mode 100644 index 0000000..8e1e57c --- /dev/null +++ b/src/lib/components/MarkdownEditor.svelte @@ -0,0 +1,40 @@ + + + + + diff --git a/src/lib/ndk.js b/src/lib/ndk.js index af0d12d..22d56b4 100644 --- a/src/lib/ndk.js +++ b/src/lib/ndk.js @@ -66,7 +66,9 @@ export async function addColumn(column) { export async function addCard(card) { const ndk = getNdk(); - const cardEvent = new NDKEvent(ndk, { kind: 30045, content: card.title }); + const cardEvent = new NDKEvent(ndk, { kind: 30045, content: card.content }); + cardEvent.tags.push(['title', card.title]); + console.log('card event', cardEvent); await cardEvent.publish(); const columnEvent = await ndk.fetchEvent({ @@ -112,11 +114,13 @@ async function eventTagToColumn(eventTag) { } /** + * Gets the title tag of an event * @param {NDKEvent} event + * @returns {string} */ export function eventTitle(event) { if (event === undefined) return ''; - const title = event.tags.find((e) => e[0] === 'title')[1] ?? ''; + const title = event.tags?.find((e) => e[0] === 'title')?.[1] ?? ''; return title; }