feat: move plugin catalog filters into a dialog - #27
Open
marekdano wants to merge 1 commit into
Open
Conversation
Signed-off-by: Marek Dano <mk.dano@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #6242.
Summary
Moves the plugin catalog's filters (Hook, Tags) from an inline popover into a dialog, matching the pattern already used on the server catalog page. Rebased on top of #24, which landed on
mainwhile this was in progress and removed the Mode filter — that decision is preserved here (no Mode section was reintroduced).Hook<Select>dropdown and the tag checkbox popover with aDialogcontaining two sections (Hooks, Tags), each with an All/Select radio and a multi-select checkbox grid — reusing the exact draft/apply pattern fromCatalogFiltersDialog(CatalogToolbar.tsx).hookis now multi-select (string[], OR semantics) and uses repeatable URL query params (?hook=a&hook=b), matching howtagsalready worked. Both sections commit in a single navigation when "Add filters" is clicked, instead of applying immediately per field.bg-selection) around the Filter icon in both the plugins and server catalog dialog headers, matching the Figma design.http_auth_resolve_user) have no natural break point, which forced the CSS multi-column layout wider than the dialog and pushed a horizontal scrollbar onto the whole dialog. Fixed withmin-w-0+overflow-wrap: anywhereon the option labels, plus dropping the Hooks section to 3 columns instead of 4 (maxColumnsprop) since its labels run longer than Tags.plugins.jsonandmcpServer.json:common.addFilters("Add filters") replaces the duplicatedplugins.catalog.addFilters/mcpServer.catalog.addFilters.common.selectOption("Select...") replaces 5 duplicatedselect*keys (selectHooks,selectTags,selectCategories,selectProviders) — safe because the ES/PT-BR translations are grammatically invariant across sections.all*Option("All") keys per-section, since ES/PT-BR need gender agreement (TodosvsTodas) that a shared key can't express correctly.allHooks,allTags(old naming),modes,allModesOption.Files changed
src/components/plugins/PluginToolbar.tsx— dialog-based filter UI (Hooks + Tags)src/components/server-catalog/CatalogToolbar.tsx— icon badge, shared i18n keyssrc/pages/Plugins.tsx— multi-select filter state, single-commit applysrc/pages/Plugins.test.tsx— updated to drive the dialog (open → select → apply); added a regression test asserting no Modes section is offeredsrc/i18n/locales/{en-US,es-ES,pt-BR}/{common,plugins,mcpServer}.jsonScreenshots
Plugins page
Server catalog page