aboutsummaryrefslogtreecommitdiffstats
path: root/packages/web/app/dashboard/components/AllLists.tsx
diff options
context:
space:
mode:
authorMohamedBassem <me@mbassem.com>2024-03-01 18:00:58 +0000
committerMohamedBassem <me@mbassem.com>2024-03-01 18:00:58 +0000
commit75d315dda4232ee3b89abf054f0b6ee10105ffe3 (patch)
treef0796a136578f3b5aa82b4b3313e54fa3061ff5f /packages/web/app/dashboard/components/AllLists.tsx
parent588471d65039e6920751ac2add8874ee932bc2f1 (diff)
downloadkarakeep-75d315dda4232ee3b89abf054f0b6ee10105ffe3.tar.zst
feature: Add support for creating and updating lists
Diffstat (limited to 'packages/web/app/dashboard/components/AllLists.tsx')
-rw-r--r--packages/web/app/dashboard/components/AllLists.tsx41
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/web/app/dashboard/components/AllLists.tsx b/packages/web/app/dashboard/components/AllLists.tsx
new file mode 100644
index 00000000..6b5ca3b5
--- /dev/null
+++ b/packages/web/app/dashboard/components/AllLists.tsx
@@ -0,0 +1,41 @@
+"use client";
+
+import { api } from "@/lib/trpc";
+import { ScrollArea } from "@/components/ui/scroll-area";
+import SidebarItem from "./SidebarItem";
+import LoadingSpinner from "@/components/ui/spinner";
+import NewListModal, { useNewListModal } from "./NewListModal";
+import { Plus } from "lucide-react";
+import Link from "next/link";
+
+export default function AllLists() {
+ const { data: lists } = api.lists.list.useQuery();
+
+ const { setOpen } = useNewListModal();
+
+ return (
+ <ul className="max-h-full gap-2 overflow-scroll text-sm font-medium">
+ <NewListModal />
+ <li className="flex justify-between py-2 font-bold">
+ <p>Lists</p>
+ <Link href="#" onClick={() => setOpen(true)}>
+ <Plus />
+ </Link>
+ </li>
+ {lists && lists.lists.length == 0 && <li>No lists</li>}
+ {lists ? (
+ lists.lists.map((l) => (
+ <SidebarItem
+ key={l.id}
+ logo={<span className="text-lg"> {l.icon}</span>}
+ name={l.name}
+ path={`/dashboard/lists/${l.id}`}
+ className="py-0.5"
+ />
+ ))
+ ) : (
+ <LoadingSpinner />
+ )}
+ </ul>
+ );
+}