fix(web): align plugin rows and the Plugins entry in the tools menu
Description
Part 5 of the ENG-4416 stack. Two alignment fixes:
PluginRowLayoutrendered an empty description line, so a plugin with no description had its title pushed up next to the icon. The line now renders only when there is a description.- The "Plugins" row in the chat tools menu used
padding={0}and a bare chevron, so its icon, label and chevron sat 2-4px off the other rows. It now usesvariant="section"likeToolLineItem, and the chevron sits in the same 24px slot as the row buttons.
Measured in the browser: icon x and right-icon x/y now match the other rows (535 / 729 desktop, 63 / 257 mobile); a title-only row's title is centered on the icon.
| Before | After (desktop) | After (mobile) |
|---|---|---|
Member page:
How Has This Been Tested?
- Local ODS stack: admin and member Plugins pages and the chat tools menu, desktop + mobile, with bounding-box checks.
- New
PluginRowLayout.test.tsx; ChatPluginsPopover, PluginsPage and MemberPluginsPage suites: 81 passed. pre-commiton touched files.
Additional Options
- [Optional] Please cherry-pick this PR to the latest release version.
Mobile Plugins submenu
Browser QA found one more problem at 390px. The submenu had no room beside the tools menu, so it shrank to about 94px and the plugin names were hidden. On phones (useScreenSize().isMobile), the submenu now opens above the Plugins row, over the tools menu, at full width. Desktop still opens it to the right.
Probe at 390px: the submenu is side=top, 240px wide. Wiki MCP and Metadata API are visible. Connect closes both menus and opens one dialog. On desktop the submenu is still side=right, 240px wide.
| 390px, after | 390px video |
|---|---|
Link to Devin session: https://app.devin.ai/sessions/09df74c24e19407bbf0e7ab775b5cb0a
Open in Devin Desktop: https://app.devin.ai/desktop/session/09df74c24e19407bbf0e7ab775b5cb0a?variant=devin
Requested by: @rohoswagger
Summary by cubic
Fixes plugin row alignment so plugins without descriptions no longer push their titles up against the icon, and the Plugins entry in the chat tools menu now lines up with the other rows.
- Plugins without a description no longer render an empty line below the title.
- The Plugins row in the tools menu now uses
variant="section"and a 24px chevron slot, matching the icon and chevron positions of the other rows. - On phones, the Plugins submenu now opens above the tools menu at full width, since there was no room beside it; desktop still opens it to the right.
- Adds tests for
PluginRowLayoutdescription rendering.
Summary by CodeRabbit
-
Bug Fixes
- Plugin rows no longer display an empty description area when no description is available.
- Plugin descriptions continue to appear beneath their titles when provided.
- Improved alignment and spacing for the chat plugins popover trigger and chevron.
- The chat plugins popover now uses responsive positioning, opening above on mobile and remaining right-aligned on larger screens.
-
Tests
- Added coverage for plugin rows with and without descriptions.