Skip to content

Commit cba3e7b

Browse files
committed
fix(ui): correct i18n for Marketplace tag tooltip and "Clear tags" button
1 parent e487cd7 commit cba3e7b

20 files changed

Lines changed: 40 additions & 4 deletions

‎webview-ui/src/components/marketplace/components/MarketplaceItemCard.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -172,7 +172,7 @@ export const MarketplaceItemCard: React.FC<MarketplaceItemCardProps> = ({ item,
172172
key={tag}
173173
content={
174174
filters.tags.includes(tag)
175-
? t("marketplace:filters.tags.clear", { count: tag })
175+
? t("marketplace:filters.tags.removeFromFilter", { tag })
176176
: t("marketplace:filters.tags.clickToFilter")
177177
}>
178178
<Button

‎webview-ui/src/components/marketplace/components/__tests__/MarketplaceItemCard.spec.tsx‎

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { render, screen } from "@/utils/test-utils"
1+
import { render, screen, waitFor } from "@/utils/test-utils"
22
import userEvent from "@testing-library/user-event"
33

44
import { MarketplaceItem } from "@roo-code/types"
@@ -27,10 +27,12 @@ vi.mock("@/i18n/TranslationContext", () => ({
2727
if (key === "marketplace:items.card.by") {
2828
return `by ${params.author}`
2929
}
30+
if (key === "marketplace:filters.tags.removeFromFilter") {
31+
return `Remove ${params.tag} from filters`
32+
}
3033
const translations: Record<string, any> = {
3134
"marketplace:filters.type.mode": "Mode",
3235
"marketplace:filters.type.mcpServer": "MCP Server",
33-
"marketplace:filters.tags.clear": "Remove filter",
3436
"marketplace:filters.tags.clickToFilter": "Add filter",
3537
"marketplace:items.components": "Components", // This should be a string for the title prop
3638
"marketplace:items.card.install": "Install",
@@ -118,6 +120,22 @@ describe("MarketplaceItemCard", () => {
118120
expect(setFilters).toHaveBeenCalledWith({ tags: ["test"] })
119121
})
120122

123+
it.each([
124+
{ selectedTags: [], tooltip: "Add filter" },
125+
{ selectedTags: ["test"], tooltip: "Remove test from filters" },
126+
])("shows '$tooltip' on hover when selected tags are $selectedTags", async ({ selectedTags, tooltip }) => {
127+
const user = userEvent.setup()
128+
renderWithProviders(
129+
<MarketplaceItemCard {...defaultProps} filters={{ ...defaultProps.filters, tags: selectedTags }} />,
130+
)
131+
132+
await user.hover(screen.getByText("test"))
133+
134+
await waitFor(() => expect(screen.getByRole("tooltip", { name: tooltip })).toBeInTheDocument(), {
135+
timeout: 1000,
136+
})
137+
})
138+
121139
it("handles author link click", async () => {
122140
const user = userEvent.setup()
123141
renderWithProviders(<MarketplaceItemCard {...defaultProps} />)

‎webview-ui/src/i18n/locales/ca/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/de/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/en/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"tags": {
1919
"label": "Filter by tags:",
2020
"clear": "Clear tags",
21+
"removeFromFilter": "Click to remove '{{tag}}' from filters",
2122
"placeholder": "Type to search and select tags...",
2223
"noResults": "No matching tags found",
2324
"selected": "Showing items with any of the selected tags",

‎webview-ui/src/i18n/locales/es/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/fr/marketplace.json‎

Lines changed: 2 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/hi/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/id/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎webview-ui/src/i18n/locales/it/marketplace.json‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)