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
-