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,