b602294f1d
On mobile the side panel covers the page, but the page header stays mounted underneath. Its command menu button (`⌘K`, the `⋮` icon) sits at the same coordinates as the panel's own close button, so the two icons render on top of each other. Measured on a 390x844 viewport with the AI chat open: - `Command Menu` button at `x=346, y=8, 32x32` - `Close side panel` button at `x=358, y=14, 24x24` `SidePanelToggleButton` already hid itself for the command menu and search pages, but the AI chat pages (`AskAI`, `ViewPreviousAiChats`) are not in `COMMAND_MENU_SIDE_PANEL_PAGES`, so the button stayed and overlapped. ## Change Hide the button on mobile whenever the side panel is open, rather than enumerating pages — the header is not reachable behind a full-screen panel either way. Layout customization mode is the exception and keeps it: `alignWithSidePanelTopBar` deliberately repositions the button into the side panel top bar there, so that path is preserved. Desktop is unaffected. ## Testing Three cases added to `SidePanelToggleButton.test.tsx` (hidden on mobile with the panel open, kept on mobile in layout customization mode, kept on desktop with the AI chat open); the `useIsMobile` mock is now switchable per test. All 10 tests pass. Verified in the browser at 390x844: with the AI chat open only `Close side panel` remains in the top bar, and the button reappears once the panel is closed. --- _Generated by [Claude Code](https://claude.ai/code/session_018gcsCQbuTMsyFWv874p25Q)_ <!-- This is an auto-generated description by cubic. --> <a href="https://cubic.dev/pr/twentyhq/twenty/pull/23471?utm_source=github" target="_blank" rel="noopener noreferrer" data-no-image-dialog="true"><picture><source media="(prefers-color-scheme: dark)" srcset="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"><source media="(prefers-color-scheme: light)" srcset="https://www.cubic.dev/buttons/review-in-cubic-light.svg"><img alt="Review in cubic" src="https://www.cubic.dev/buttons/review-in-cubic-dark.svg"></picture></a> <!-- End of auto-generated description by cubic. -->
73 lines
960 B
Plaintext
73 lines
960 B
Plaintext
**/**/.env
|
|
.DS_Store
|
|
/.idea
|
|
.claude/*
|
|
!.claude/settings.json
|
|
.cursor/debug-*.log
|
|
**/**/node_modules/
|
|
.cache
|
|
|
|
# yarn is the recommended package manager across the project
|
|
**/**/.package-lock.json
|
|
|
|
.nx/installation
|
|
.nx/cache
|
|
.nx/workspace-data
|
|
.nx/nxw.js
|
|
|
|
.pnp.*
|
|
.yarn/*
|
|
!.yarn/patches
|
|
!.yarn/plugins
|
|
!.yarn/releases
|
|
!.yarn/sdks
|
|
!.yarn/versions
|
|
.vercel
|
|
.swc
|
|
|
|
**/**/logs/**
|
|
|
|
coverage
|
|
dist
|
|
storybook-static
|
|
*.tsbuildinfo
|
|
.oxlintcache
|
|
.nyc_output
|
|
test-results/
|
|
dump.rdb
|
|
.tinyb
|
|
|
|
.notes
|
|
/data/
|
|
/.devenv/
|
|
/.direnv/
|
|
/.pre-commit-config.yaml
|
|
/.envrc
|
|
/devenv.nix
|
|
/flake.lock
|
|
/flake.nix
|
|
|
|
.crowdin.yml
|
|
.react-email/
|
|
|
|
mcp.json
|
|
/.junie/
|
|
/.agents/plugins/marketplace.json
|
|
TRANSLATION_QA_REPORT.md
|
|
.playwright-mcp/
|
|
.playwright-cli/
|
|
output/playwright/
|
|
screenshots/
|
|
!**/public/screenshots/
|
|
!**/assets/screenshots/
|
|
|
|
# local graphify knowledge-graph output (never commit)
|
|
**/graphify-out/
|
|
|
|
# Local scratch scripts
|
|
/.verify*.mjs
|
|
/.shot*.mjs
|
|
/.diag*.mjs
|
|
/.compare*.mjs
|
|
/.narrow*.mjs
|