Connectors: Redesign connector items as collapsible cards#75934
Connectors: Redesign connector items as collapsible cards#75934Jameswlepage wants to merge 1 commit intotrunkfrom
Conversation
Replace the flat Item-based layout with collapsible cards for each connector on the Settings > Connectors page. The collapsed state shows the connector icon, name, description, and a CTA (Install/Activate). A chevron toggle expands the card to reveal the API key form with an inline Save button. This removes the separate Cancel, Set up, and Edit buttons in favor of the chevron control.
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
👋 Thanks for your first Pull Request and for helping build the future of Gutenberg and WordPress, @Jameswlepage! In case you missed it, we'd love to have you join us in our Slack community. If you want to learn more about WordPress development in general, check out the Core Handbook full of helpful information. |
|
Size Change: +342 B (+0.01%) Total Size: 6.84 MB
ℹ️ View Unchanged
|
|
I'm a little confused: these were already collapsible cards. It seems the primary change here in the UX is replacing the "Edit" CTA with a more ambiguous chevron icon button. It also seems we've lost the status badge, which was intended to help users better understand with connectors are setup and working. In the future the status could also indicate when a connection is broken. |
|
We also removed the setup button. This means users won't have an obvious way to know if a connector is actually setup or not. |
| .connector-card { | ||
| padding: 20px; | ||
| border-radius: 8px; | ||
| border: 1px solid #ddd; | ||
| background: #fff; | ||
| overflow: hidden; | ||
| } |
There was a problem hiding this comment.
Any reason not to use Card from @wordpress/components?
| } | ||
|
|
||
| .connector-settings__help { | ||
| font-size: 12px; |
There was a problem hiding this comment.
There should be a scss var for this.
| import { useConnectorPlugin } from './use-connector-plugin'; | ||
| import { OpenAILogo, ClaudeLogo, GeminiLogo } from './logos'; | ||
|
|
||
| const ConnectedBadge = () => ( |

What?
Follow-up to #75833.
Redesign the connector items on the Settings > Connectors page from flat
Itemcomponents to collapsible cards with a chevron toggle.Why?
The initial Connectors screen shipped with a flat layout where expanding/collapsing the API key form was handled by a multi-purpose button (Cancel/Set up/Edit). This PR introduces a more standard collapsible card pattern that separates the expand/collapse concern (chevron) from the primary action (Install/Activate), making the UI cleaner and more intuitive.
How?
connector-item.tsx: Replace<Item>wrapper with a<div>-based card. AddisExpandedandonToggleprops. Render aButtonwith achevronDownicon that rotates when expanded. The toggle only renders whenonToggleis provided.connector-item.tsx(DefaultConnectorSettings): In edit mode, place theTextControland Save button inline in anHStack. Help/error text rendered below usingTextcomponent. Read-only mode keeps the vertical layout.default-connectors.tsx: PassisExpanded/onToggletoConnectorItem. Only provideonTogglewhenpluginStatus === 'active'so the chevron is hidden for not-installed/inactive plugins. Hide the action button when the label is empty.use-connector-plugin.ts: Remove Cancel, Set up, and Edit labels fromgetButtonLabel(). SimplifyhandleButtonClick()to only handle install/activate.style.scss: Replace.components-itemstyles with.connector-cardcard styles. Add chevron rotation, body separator, inline input+save layout, and help text styles.Testing Instructions
/wp-admin/options-general.php?page=connectors-wp-admin).Testing Instructions for Keyboard
Screenshots or screencast