diff --git a/apps/landing/src/shared/icons/brands.tsx b/apps/landing/src/shared/icons/brands.tsx index 6eee4815..5fd2e4a0 100644 --- a/apps/landing/src/shared/icons/brands.tsx +++ b/apps/landing/src/shared/icons/brands.tsx @@ -2,6 +2,7 @@ import { CodexIcon } from "@onequery/ui/icons/codex-icon"; import { GoogleSearchConsoleIcon } from "@onequery/ui/icons/google-search-console-icon"; import { GranolaIcon } from "@onequery/ui/icons/granola-icon"; import { HermesAgentIcon } from "@onequery/ui/icons/hermes-agent-icon"; +import { JamIcon } from "@onequery/ui/icons/jam-icon"; import { SendGridIcon } from "@onequery/ui/icons/sendgrid-icon"; import { SimpleIconSvg, SvgIcon } from "@onequery/ui/icons/svg-icon"; import type { IconSvgProps, SimpleIconData } from "@onequery/ui/icons/svg-icon"; @@ -139,26 +140,6 @@ function HermesIcon({ size, ...props }: IconSvgProps) { return ; } -function JamIcon({ size, ...props }: IconSvgProps) { - return ( - - - - ); -} - function CodexAppServerApiIcon(props: IconSvgProps) { return ; } diff --git a/packages/ui/package.json b/packages/ui/package.json index 84e939ae..6be01222 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -15,6 +15,7 @@ "./icons/google-search-console-icon": "./src/icons/google-search-console-icon.tsx", "./icons/granola-icon": "./src/icons/granola-icon.tsx", "./icons/hermes-agent-icon": "./src/icons/hermes-agent-icon.tsx", + "./icons/jam-icon": "./src/icons/jam-icon.tsx", "./icons/sendgrid-icon": "./src/icons/sendgrid-icon.tsx", "./hooks/*": "./src/hooks/*.ts", "./icons/svg-icon": "./src/icons/svg-icon.tsx" diff --git a/packages/ui/src/data-sources/provider-icons.test.tsx b/packages/ui/src/data-sources/provider-icons.test.tsx index 260a0e13..f1e91fb9 100644 --- a/packages/ui/src/data-sources/provider-icons.test.tsx +++ b/packages/ui/src/data-sources/provider-icons.test.tsx @@ -92,6 +92,18 @@ describe("shared provider icon accessibility", () => { expect(markup).toContain("Granola provider"); }); + it("renders Jam with the official hosted logo", () => { + const markup = renderProviderIcon("jam", { + title: "Jam provider", + }); + + expect(markup).toContain('viewBox="0 0 384 384"'); + expect(markup).toContain( + 'href="https://storage.googleapis.com/jam-assets/jam-logo.webp"' + ); + expect(markup).toContain("Jam provider"); + }); + it("renders AWS Athena Connector as a monochrome icon", () => { const markup = renderProviderIcon("aws_athena_connector"); diff --git a/packages/ui/src/data-sources/provider-icons.tsx b/packages/ui/src/data-sources/provider-icons.tsx index 07b6e0cb..75e6b394 100644 --- a/packages/ui/src/data-sources/provider-icons.tsx +++ b/packages/ui/src/data-sources/provider-icons.tsx @@ -3,7 +3,6 @@ import { IconDatabase, IconHelpCircle, IconTerminal2, - IconVideo, } from "@tabler/icons-react"; import type { ComponentType } from "react"; import { @@ -36,6 +35,7 @@ import { CodexIcon } from "../icons/codex-icon"; import { GoogleSearchConsoleIcon } from "../icons/google-search-console-icon"; import { GranolaIcon } from "../icons/granola-icon"; import { HermesAgentIcon } from "../icons/hermes-agent-icon"; +import { JamIcon } from "../icons/jam-icon"; import { SendGridIcon } from "../icons/sendgrid-icon"; import { SimpleIconSvg, @@ -226,10 +226,6 @@ function E2BIcon(props: ProviderIconProps) { ); } -function JamIcon(props: ProviderIconProps) { - return ; -} - function MicrosoftClarityIcon({ size = 24, ...props }: ProviderIconProps) { return ( + + + ); +}