diff --git a/src/frontend/src/pages/AgentMarketplacePage/components/MarketplaceAgentCard.tsx b/src/frontend/src/pages/AgentMarketplacePage/components/MarketplaceAgentCard.tsx index 2fa61c802593..a069f45bf0ba 100644 --- a/src/frontend/src/pages/AgentMarketplacePage/components/MarketplaceAgentCard.tsx +++ b/src/frontend/src/pages/AgentMarketplacePage/components/MarketplaceAgentCard.tsx @@ -17,9 +17,10 @@ import { useCustomNavigate } from "@/customization/hooks/use-custom-navigate"; interface MarketplaceAgentCardProps { item: AgentSpecItem; viewMode?: "grid" | "list"; + interactive?: boolean; // when false, disables navigation on click } -export default function MarketplaceAgentCard({ item, viewMode = "grid" }: MarketplaceAgentCardProps) { +export default function MarketplaceAgentCard({ item, viewMode = "grid", interactive = true }: MarketplaceAgentCardProps) { const name = item.spec?.name ?? item.file_name.replace(/\.ya?ml$/i, ""); const description = item.spec?.description ?? "No description provided"; const tags: string[] = Array.isArray(item.spec?.tags) ? item.spec?.tags : []; @@ -101,17 +102,21 @@ export default function MarketplaceAgentCard({ item, viewMode = "grid" }: Market
{ - if (e.key === "Enter" || e.key === " ") { - e.preventDefault(); - handleCardClick(); - } - }} + onClick={interactive ? handleCardClick : undefined} + role={interactive ? "button" : undefined} + tabIndex={interactive ? 0 : undefined} + onKeyDown={ + interactive + ? (e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleCardClick(); + } + } + : undefined + } > {/* Header */}
@@ -128,9 +133,6 @@ export default function MarketplaceAgentCard({ item, viewMode = "grid" }: Market {version && ( ver {version} )} - - Published -