diff --git a/apps/nextjs/src/components/board/items/widget-context-menu.tsx b/apps/nextjs/src/components/board/items/widget-context-menu.tsx index 570f1964e..ce4ece543 100644 --- a/apps/nextjs/src/components/board/items/widget-context-menu.tsx +++ b/apps/nextjs/src/components/board/items/widget-context-menu.tsx @@ -37,7 +37,7 @@ export const WidgetContextMenu = ({ item, definition, widgetStateRef, children } const [isEditMode] = useEditMode(); const settings = useSettings(); - if (!session || !settings.enableRightClickOnWidgets || isEditMode) return <>{children}; + if (!session || !settings.enableRightClickOnWidgets || isEditMode || item.kind === "app") return <>{children}; return ( diff --git a/e2e/board-grid.spec.ts b/e2e/board-grid.spec.ts index c6336e7e9..bfc719e79 100644 --- a/e2e/board-grid.spec.ts +++ b/e2e/board-grid.spec.ts @@ -151,6 +151,13 @@ describe("Board grid", () => { await nestedAppLink.click(); await expect(page).toHaveURL(/#board-app-opened$/); await page.evaluate(() => history.replaceState(null, "", `${location.pathname}${location.search}`)); + + await firstItem.click({ button: "right" }); + await expect(page.getByRole("menu")).toBeVisible(); + await page.keyboard.press("Escape"); + await nestedItem.click({ button: "right" }); + await expect(page.getByRole("menu")).toHaveCount(0); + const normalZoomTileBox = await expectBoundingBoxAsync(logicalTile); const secondItemBox = await expectBoundingBoxAsync(secondItem); expect(secondItemBox.x - (normalZoomTileBox.x + normalZoomTileBox.width)).toBeCloseTo(