import { Popover, Transition } from '@headlessui/react' import { ActionButton } from './ActionButton' import { faHome } from '@fortawesome/free-solid-svg-icons' import { type IndexLoaderData } from 'lib/types' import { paths } from 'lib/paths' import { isTauri } from '../lib/isTauri' import { Link } from 'react-router-dom' import { Fragment } from 'react' import { FileTree } from './FileTree' import { sep } from '@tauri-apps/api/path' import { Logo } from './Logo' import { APP_NAME } from 'lib/constants' import { useCommandsContext } from 'hooks/useCommandsContext' import { CustomIcon } from './CustomIcon' import { useLspContext } from './LspProvider' const ProjectSidebarMenu = ({ project, file, renderAsLink = false, }: { renderAsLink?: boolean project?: IndexLoaderData['project'] file?: IndexLoaderData['file'] }) => { const { onProjectClose } = useLspContext() return (
{ onProjectClose(file || null, project?.path || null, false) }} to={paths.HOME} className="group" > {renderAsLink ? ( <> { onProjectClose(file || null, project?.path || null, false) }} to={paths.HOME} className="!no-underline" data-testid="project-sidebar-link" > {project?.name ? project.name : APP_NAME} ) : ( )}
) } function ProjectMenuPopover({ project, file, }: { project?: IndexLoaderData['project'] file?: IndexLoaderData['file'] }) { const { commandBarSend } = useCommandsContext() const { onProjectClose } = useLspContext() return (
{isTauri() && file?.name ? file.name.slice(file.name.lastIndexOf(sep) + 1) : APP_NAME} {isTauri() && project?.name && ( {project.name} )}
{({ close }) => ( <>

{project?.name ? project.name : APP_NAME}

{project?.entrypointMetadata && (

Created{' '} {project.entrypointMetadata.createdAt.toLocaleDateString()}

)}
{isTauri() ? ( ) : (
)}
commandBarSend({ type: 'Find and select command', data: { name: 'Export', ownerMachine: 'modeling' }, }) } > Export Part {isTauri() && ( { onProjectClose(file || null, project?.path || null, true) }} icon={{ icon: faHome, className: 'p-1', size: 'sm', }} className="border-transparent dark:border-transparent hover:bg-energy-10/20 dark:hover:bg-chalkboard-90" > Go to Home )}
)} ) } export default ProjectSidebarMenu