From 89ffd57502230e6fe6af1d78c1ae197eb505c621 Mon Sep 17 00:00:00 2001 From: Rajesh Gollapudi Date: Tue, 9 Jan 2024 20:42:38 -0500 Subject: [PATCH] Add column delete --- .env.example | 4 + .gitignore | 1 + app/routes/board.$id/column.tsx | 51 ++++- app/routes/board.$id/queries.ts | 4 + app/routes/board.$id/route.tsx | 7 + app/routes/board.$id/types.ts | 1 + package-lock.json | 373 +++++++------------------------- package.json | 12 +- 8 files changed, 138 insertions(+), 315 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..c797134 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +DATABASE_PATH="./prisma/dev.db" +DATABASE_URL="file:./dev.db?connection_limit=1" +SESSION_SECRET="super-duper-s3cret" +COOKIE_SECRET="super-duper-s3cret" diff --git a/.gitignore b/.gitignore index d09d672..f499350 100644 --- a/.gitignore +++ b/.gitignore @@ -5,3 +5,4 @@ node_modules /public/build .env /prisma/dev.db +/prisma/dev.db-journal \ No newline at end of file diff --git a/app/routes/board.$id/column.tsx b/app/routes/board.$id/column.tsx index faf0eb0..40a8def 100644 --- a/app/routes/board.$id/column.tsx +++ b/app/routes/board.$id/column.tsx @@ -1,5 +1,5 @@ import { useState, useRef } from "react"; -import { useSubmit } from "@remix-run/react"; +import { useFetcher, useSubmit } from "@remix-run/react"; import invariant from "tiny-invariant"; import { Icon } from "~/icons/icons"; @@ -23,6 +23,7 @@ interface ColumnProps { export function Column({ name, columnId, items }: ColumnProps) { let submit = useSubmit(); + let deleteFetcher = useFetcher(); let [acceptDrop, setAcceptDrop] = useState(false); let [edit, setEdit] = useState(false); @@ -79,18 +80,46 @@ export function Column({ name, columnId, items }: ColumnProps) { setAcceptDrop(false); }} > -
- +
+ + + + +
+ { + event.preventDefault(); + if ( + window.confirm( + "Are you sure you want to delete this column? This will delete all cards in this column.", + ) + ) { + event.currentTarget.submit(); + } + }} > - + -
+ +