"use client" import { useState } from "react" import { FolderOpen, FolderPlus, GitBranch, Rocket } from "lucide-react" import { useTranslations } from "next-intl" import { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuTrigger, } from "@/components/ui/dropdown-menu" import { Button } from "@/components/ui/button" import { openProjectBootWindow } from "@/lib/api" import { isDesktop, openFileDialog } from "@/lib/platform" import { useAppWorkspace } from "@/contexts/app-workspace-context" import { CloneDialog } from "@/components/layout/clone-dialog" import { DirectoryBrowserDialog } from "@/components/shared/directory-browser-dialog" export function NewFolderDropdown() { const t = useTranslations("Folder.folderNameDropdown") const { openFolder } = useAppWorkspace() const [cloneOpen, setCloneOpen] = useState(false) const [browserOpen, setBrowserOpen] = useState(false) async function handleOpenFolder() { if (isDesktop()) { const selected = await openFileDialog({ directory: true, multiple: false, }) if (selected) { await openFolder(Array.isArray(selected) ? selected[0] : selected) } } else { setBrowserOpen(true) } } return ( <> {t("openFolder")} setCloneOpen(true)}> {t("cloneRepository")} openProjectBootWindow()}> {t("projectBoot")} { openFolder(path).catch((err) => { console.error("[NewFolderDropdown] failed to open folder:", err) }) }} /> ) }