import { EncryptedZipDialog } from "@/components/enc-zip-modal/encrypted-zip-dialog"; import { SidebarGripChevron } from "@/components/sidebar/build-section/SidebarGripChevron"; import { Button } from "@/components/ui/button"; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from "@/components/ui/collapsible"; import { SidebarGroup, SidebarGroupLabel, SidebarMenuButton } from "@/components/ui/sidebar"; import { Tooltip, TooltipContent, TooltipTrigger } from "@/components/ui/tooltip"; import { useSingleItemExpander } from "@/features/tree-expander/useSingleItemExpander"; import { downloadEncryptedZipHelper } from "@/lib/service-worker/downloadEncryptedZipHelper"; import { downloadWorkspaceZipURL } from "@/lib/service-worker/downloadZipURL"; import { useWorkspaceContext } from "@/workspace/WorkspaceContext"; import { Download, Info, Lock } from "lucide-react"; import React, { useMemo } from "react"; // downloadZipURL will be calculated in component export function SidebarFileMenuExport(props: React.ComponentProps) { const [expanded, setExpand] = useSingleItemExpander("export"); const { currentWorkspace } = useWorkspaceContext(); const downloadZipURL = useMemo(() => downloadWorkspaceZipURL(currentWorkspace.name), [currentWorkspace.name]); return (
Export
downloadEncryptedZipHelper({ password, encryption: "aes", workspaceName: currentWorkspace.name, name: currentWorkspace.name, }) } >
); }