From 08ad305cc258769e0a07ece25c0c3a6fae0e9d5b Mon Sep 17 00:00:00 2001 From: "@s.roertgen" Date: Tue, 15 Apr 2025 15:11:21 +0200 Subject: [PATCH] Forking of boards, better routing, lots of other stuff --- src/lib/components/Board.svelte | 45 ++++++++++++++++---------- src/lib/components/BoardCard.svelte | 22 ++++++++++--- src/lib/components/Navbar.svelte | 17 ++++------ src/lib/db.js | 46 ++++++++++++++++++++++---- src/lib/ndk.js | 50 ++++++++++++++++++++++------- src/routes/+page.svelte | 41 +++++++++++++++++------ src/routes/board/[id]/+page.svelte | 8 ++--- 7 files changed, 165 insertions(+), 64 deletions(-) diff --git a/src/lib/components/Board.svelte b/src/lib/components/Board.svelte index 6747d0b..dd81375 100644 --- a/src/lib/components/Board.svelte +++ b/src/lib/components/Board.svelte @@ -4,10 +4,10 @@ import { dndzone } from 'svelte-dnd-action'; import AddColumnModal from './AddColumnModal.svelte'; import AddCardModal from './AddCardModal.svelte'; - import { cardsForColumn, columnsForBoard, selectedColumn, currentBoard } from '$lib/db'; - import { publishBoard, publishCards } from '$lib/ndk'; + import { cardsForColumn, columnsForBoard, selectedColumn, currentBoard, user } from '$lib/db'; + import { eventTitle, publishBoard, publishCards } from '$lib/ndk'; - export let boardId; + export let boardAddress; let addColumnModal; let addCardModal; @@ -23,7 +23,6 @@ col.items = cardsForColumn(col.id); return col; }); - $: console.log('items', items); const flipDurationMs = 200; @@ -62,8 +61,12 @@ } - - +
+

{eventTitle($currentBoard)}

+ {#if $user && $user.pubkey === $currentBoard.pubkey} + + {/if} +
{#each items as column (column.id)}
-
{column.dTag}
- -
- +
+
{column.dTag}
+ {#if $user && $user.pubkey === $currentBoard.pubkey} + + {/if} +
+
+ {#if $user && $user.pubkey === $currentBoard.pubkey} + + {/if}
- import { setBoard } from '$lib/db'; - import { eventTitle } from '$lib/ndk'; + import { setBoard, user, userBoards } from '$lib/db'; + import { eventTitle, forkBoard, deleteBoard } from '$lib/ndk'; export let board; -
+

{eventTitle(board)}

- setBoard(board)} href={`/board/${board.dTag}`} class="btn btn-primary" - >Open Board e.dTag).includes(board.dTag)} +

Already forked

+ {:else} + + {/if} + {/if} + setBoard(board)} + href={`/board/${board.tagAddress()}`} + class="btn btn-primary">Open Board + {#if $user && $userBoards.map((e) => e.dTag).includes(board.dTag)} + + {/if}
diff --git a/src/lib/components/Navbar.svelte b/src/lib/components/Navbar.svelte index 0e4c28e..c9a7c44 100644 --- a/src/lib/components/Navbar.svelte +++ b/src/lib/components/Navbar.svelte @@ -1,5 +1,5 @@ @@ -9,21 +9,18 @@
- +
- {#if $db.user} + {#if $user}