From 2619f4cfefdf9264a7f4c3a8741493323fdde901 Mon Sep 17 00:00:00 2001 From: Mohamed Bassem Date: Fri, 28 Nov 2025 15:39:57 +0000 Subject: fix: separate shared lists in the sidebar (#2180) * fix: separate shared lists in the sidebar * fix sub * i18n --- .../components/dashboard/lists/AllListsView.tsx | 74 +++++++++++++++++++--- 1 file changed, 65 insertions(+), 9 deletions(-) (limited to 'apps/web/components/dashboard/lists/AllListsView.tsx') diff --git a/apps/web/components/dashboard/lists/AllListsView.tsx b/apps/web/components/dashboard/lists/AllListsView.tsx index 6101112d..7a7c9504 100644 --- a/apps/web/components/dashboard/lists/AllListsView.tsx +++ b/apps/web/components/dashboard/lists/AllListsView.tsx @@ -1,13 +1,22 @@ "use client"; +import { useMemo, useState } from "react"; import Link from "next/link"; import { EditListModal } from "@/components/dashboard/lists/EditListModal"; import { Button } from "@/components/ui/button"; -import { CollapsibleTriggerChevron } from "@/components/ui/collapsible"; +import { + Collapsible, + CollapsibleContent, + CollapsibleTriggerChevron, +} from "@/components/ui/collapsible"; import { useTranslation } from "@/lib/i18n/client"; import { MoreHorizontal, Plus } from "lucide-react"; import type { ZBookmarkList } from "@karakeep/shared/types/lists"; +import { + augmentBookmarkListsWithInitialData, + useBookmarkLists, +} from "@karakeep/shared-react/hooks/lists"; import { CollapsibleBookmarkLists } from "./CollapsibleBookmarkLists"; import { ListOptions } from "./ListOptions"; @@ -64,6 +73,20 @@ export default function AllListsView({ initialData: ZBookmarkList[]; }) { const { t } = useTranslation(); + + // Fetch live lists data + const { data: listsData } = useBookmarkLists(undefined, { + initialData: { lists: initialData }, + }); + const lists = augmentBookmarkListsWithInitialData(listsData, initialData); + + // Check if there are any shared lists + const hasSharedLists = useMemo(() => { + return lists.data.some((list) => list.userRole !== "owner"); + }, [lists.data]); + + const [sharedListsOpen, setSharedListsOpen] = useState(true); + return ( ); } -- cgit v1.2.3-70-g09d2