Summary
Refine the app menu integration in the Chrome-Next header. The app menu is already rendering via ProjectNextAppMenu with fallback from chrome.getAppMenu$(). This issue covers polishing, DnD support, and strict enforcement.
Blocked by: #259107 (Header skeleton)
Scope
- Refine app menu rendering in the Chrome-Next header trailing actions area
- Enforce max 3 visible app-specific buttons (two secondary, one primary); rest overflow
- Buttons are text-color only (no primary/secondary color distinction)
- Verify fallback chain:
config.appMenu -> chrome.getAppMenu$() -> undefined
- Integrate with Discover + Dashboard (partially done)
- Coordinate with existing app menu feature flag to avoid doubled buttons
- Add architecture for global buttons (feedback button)
- Feedback button in classic mode should stay in global header and it should NOT be a global item for app menu
- In project mode the global header feedback button should NOT be visible and it should be a global item for app menu instead and it should be always shown, regardless if an app has any app menu items otherwise
- Add architecture for registering specific actions (e.g. "Add data" button)
Key files
src/core/packages/chrome/browser-components/src/project_next/app_menu.tsx
src/core/packages/chrome/browser-components/src/project_next/hooks/use_project_next_app_menu.ts
src/core/packages/chrome/browser-components/src/project_next/trailing_actions.tsx
src/core/packages/chrome/browser/src/next_header.ts (ChromeNextHeaderConfig.appMenu)
Summary
Refine the app menu integration in the Chrome-Next header. The app menu is already rendering via
ProjectNextAppMenuwith fallback fromchrome.getAppMenu$(). This issue covers polishing, DnD support, and strict enforcement.Blocked by: #259107 (Header skeleton)
Scope
config.appMenu->chrome.getAppMenu$()-> undefinedKey files
src/core/packages/chrome/browser-components/src/project_next/app_menu.tsxsrc/core/packages/chrome/browser-components/src/project_next/hooks/use_project_next_app_menu.tssrc/core/packages/chrome/browser-components/src/project_next/trailing_actions.tsxsrc/core/packages/chrome/browser/src/next_header.ts(ChromeNextHeaderConfig.appMenu)