diff --git a/e2e/playwright/flow-tests.spec.ts b/e2e/playwright/flow-tests.spec.ts index d518e295b..d1fea1c8a 100644 --- a/e2e/playwright/flow-tests.spec.ts +++ b/e2e/playwright/flow-tests.spec.ts @@ -348,6 +348,15 @@ test('if you use the format keyboard binding it formats your code', async ({ |> close(%)`) }) +test('ensure the Zoo logo is not a link in browser app', async ({ page }) => { + await page.setViewportSize({ width: 1000, height: 500 }) + await page.goto('/') + + const zooLogo = page.locator('[data-testid="app-logo"]') + // Make sure it's not a link + await expect(zooLogo).not.toHaveAttribute('href') +}) + test('if you write invalid kcl you get inlined errors', async ({ page }) => { const u = getUtils(page) await page.setViewportSize({ width: 1000, height: 500 }) diff --git a/src/components/AppHeader.tsx b/src/components/AppHeader.tsx index 8f5074008..52a598223 100644 --- a/src/components/AppHeader.tsx +++ b/src/components/AppHeader.tsx @@ -34,7 +34,7 @@ export const AppHeader = ({ } > diff --git a/src/components/ProjectSidebarMenu.test.tsx b/src/components/ProjectSidebarMenu.test.tsx index 0f0b24b34..742b006ec 100644 --- a/src/components/ProjectSidebarMenu.test.tsx +++ b/src/components/ProjectSidebarMenu.test.tsx @@ -32,7 +32,7 @@ describe('ProjectSidebarMenu tests', () => { - + @@ -53,7 +53,7 @@ describe('ProjectSidebarMenu tests', () => { - + @@ -64,22 +64,18 @@ describe('ProjectSidebarMenu tests', () => { expect(screen.getByTestId('projectName')).toHaveTextContent(APP_NAME) }) - test('Renders as a link if set to do so', () => { + test('Disables popover menu by default', () => { render( - + ) - expect(screen.getByTestId('project-sidebar-link')).toBeInTheDocument() - expect(screen.getByTestId('project-sidebar-link-name')).toHaveTextContent( + expect(screen.getByTestId('project-name')).toHaveTextContent( projectWellFormed.name ) }) diff --git a/src/components/ProjectSidebarMenu.tsx b/src/components/ProjectSidebarMenu.tsx index 34bbb2ba7..b60a87c11 100644 --- a/src/components/ProjectSidebarMenu.tsx +++ b/src/components/ProjectSidebarMenu.tsx @@ -17,53 +17,63 @@ import { engineCommandManager } from 'lib/singletons' const ProjectSidebarMenu = ({ project, file, - renderAsLink = false, + enableMenu = false, }: { - renderAsLink?: boolean + enableMenu?: boolean project?: IndexLoaderData['project'] file?: IndexLoaderData['file'] }) => { - const { onProjectClose } = useLspContext() return (
- { - onProjectClose(file || null, project?.path || null, false) - // Clear the scene and end the session. - engineCommandManager.endSession() - }} - to={paths.HOME} - className="relative h-full grid place-content-center group p-1.5 before:block before:content-[''] before:absolute before:inset-0 before:bottom-2.5 before:z-[-1] before:bg-primary hover:before:brightness-110 before:rounded-b-sm" - > - - - {renderAsLink ? ( - <> - { - onProjectClose(file || null, project?.path || null, false) - // Clear the scene and end the session. - engineCommandManager.endSession() - }} - to={paths.HOME} - className="!no-underline" - data-testid="project-sidebar-link" - > - - {project?.name ? project.name : APP_NAME} - - - - ) : ( + + {enableMenu ? ( + ) : ( + + {project?.name ? project.name : APP_NAME} + )}
) } +function AppLogoLink({ + project, + file, +}: { + project?: IndexLoaderData['project'] + file?: IndexLoaderData['file'] +}) { + const { onProjectClose } = useLspContext() + const wrapperClassName = + "relative h-full grid place-content-center group p-1.5 before:block before:content-[''] before:absolute before:inset-0 before:bottom-2.5 before:z-[-1] before:bg-primary before:rounded-b-sm" + const logoClassName = 'w-auto h-4 text-chalkboard-10' + + return isTauri() ? ( + { + onProjectClose(file || null, project?.path || null, false) + // Clear the scene and end the session. + engineCommandManager.endSession() + }} + to={paths.HOME} + className={wrapperClassName + ' hover:before:brightness-110'} + > + + {APP_NAME} + + ) : ( +
+ + {APP_NAME} +
+ ) +} + function ProjectMenuPopover({ project, file,