import { useState } from "react"; import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu"; import { useShowArchived } from "@/components/utils/useShowArchived"; import { useTranslation } from "@/lib/i18n/client"; import { FolderInput, Pencil, Plus, Share, Square, SquareCheck, Trash2, } from "lucide-react"; import { ZBookmarkList } from "@karakeep/shared/types/lists"; import { EditListModal } from "../lists/EditListModal"; import DeleteListConfirmationDialog from "./DeleteListConfirmationDialog"; import { MergeListModal } from "./MergeListModal"; import { ShareListModal } from "./ShareListModal"; export function ListOptions({ list, isOpen, onOpenChange, children, }: { isOpen?: boolean; onOpenChange?: (open: boolean) => void; list: ZBookmarkList; children?: React.ReactNode; }) { const { t } = useTranslation(); const { showArchived, onClickShowArchived } = useShowArchived(); const [deleteListDialogOpen, setDeleteListDialogOpen] = useState(false); const [newNestedListModalOpen, setNewNestedListModalOpen] = useState(false); const [mergeListModalOpen, setMergeListModalOpen] = useState(false); const [editModalOpen, setEditModalOpen] = useState(false); const [shareModalOpen, setShareModalOpen] = useState(false); return ( {children} setEditModalOpen(true)} > {t("actions.edit")} setShareModalOpen(true)} > {t("lists.share_list")} setNewNestedListModalOpen(true)} > {t("lists.new_nested_list")} setMergeListModalOpen(true)} > {t("lists.merge_list")} {showArchived ? ( ) : ( )} {t("actions.toggle_show_archived")} setDeleteListDialogOpen(true)} > {t("actions.delete")} ); }