diff --git a/spa/src/Board.tsx b/spa/src/Board.tsx
index dff9ba1..6df4fb0 100644
--- a/spa/src/Board.tsx
+++ b/spa/src/Board.tsx
@@ -7,12 +7,12 @@ import {
import { rankBetween } from "./lib/rank";
import {
AlertIcon, BotIcon, CheckIcon, ClipboardIcon, GithubIcon, MessageIcon, PlusIcon,
- SearchIcon, XIcon,
+ SearchIcon, TrashIcon, XIcon,
} from "./Icons";
import type { Signer } from "./lib/nostr";
import type { Relay } from "./lib/relay";
import {
- CardModal, DemoThreadModal, NewCardModal, NewLaneModal, AttachChannelModal,
+ CardModal, DemoThreadModal, NewCardModal, NewLaneModal, AttachChannelModal, DeleteLaneModal,
} from "./Modals";
export interface Session {
@@ -27,6 +27,7 @@ type Modal =
| { kind: "new-card"; lane: Lane; spinFrom?: Card }
| { kind: "new-lane" }
| { kind: "attach-channel"; lane: Lane }
+ | { kind: "delete-lane"; lane: Lane }
| { kind: "demo-thread"; card: Card };
export function Board({ data, session, refresh, busyRef, optimisticMove }: {
@@ -169,6 +170,12 @@ export function Board({ data, session, refresh, busyRef, optimisticMove }: {
attach channel
)}
+ {lane.owner === session.signer.pubkey && (
+
+ )}
{lane.description &&
{lane.description}
}
@@ -289,6 +296,11 @@ export function Board({ data, session, refresh, busyRef, optimisticMove }: {
setModal({ kind: "none" })} refresh={refresh} />
)}
+ {modal.kind === "delete-lane" && (
+ setModal({ kind: "none" })} refresh={refresh} />
+ )}
);
}
diff --git a/spa/src/Icons.tsx b/spa/src/Icons.tsx
index 6cada68..cf61a2d 100644
--- a/spa/src/Icons.tsx
+++ b/spa/src/Icons.tsx
@@ -78,6 +78,14 @@ export const SearchIcon = () => (
);
+export const TrashIcon = () => (
+
+);
+
export const UsersIcon = () => (