diff --git a/apps/landing/src/shared/icons/brands.tsx b/apps/landing/src/shared/icons/brands.tsx index 5fd2e4a0..1d4a08c3 100644 --- a/apps/landing/src/shared/icons/brands.tsx +++ b/apps/landing/src/shared/icons/brands.tsx @@ -1,4 +1,5 @@ import { CodexIcon } from "@onequery/ui/icons/codex-icon"; +import { E2BIcon } from "@onequery/ui/icons/e2b-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"; @@ -109,33 +110,6 @@ function MotherDuckIcon({ size, ...props }: IconSvgProps) { ); } -function E2BIcon({ size, ...props }: IconSvgProps) { - return ( - - - - - ); -} - function HermesIcon({ size, ...props }: IconSvgProps) { return ; } diff --git a/packages/ui/package.json b/packages/ui/package.json index 6be01222..6dc4aed7 100644 --- a/packages/ui/package.json +++ b/packages/ui/package.json @@ -12,6 +12,7 @@ "./data-sources/provider-icons": "./src/data-sources/provider-icons.tsx", "./components/*": "./src/components/ui/*.tsx", "./icons/codex-icon": "./src/icons/codex-icon.tsx", + "./icons/e2b-icon": "./src/icons/e2b-icon.tsx", "./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", diff --git a/packages/ui/src/data-sources/provider-icons.test.tsx b/packages/ui/src/data-sources/provider-icons.test.tsx index f1e91fb9..b9d69155 100644 --- a/packages/ui/src/data-sources/provider-icons.test.tsx +++ b/packages/ui/src/data-sources/provider-icons.test.tsx @@ -104,6 +104,18 @@ describe("shared provider icon accessibility", () => { expect(markup).toContain("Jam provider"); }); + it("renders E2B with the official hosted logo", () => { + const markup = renderProviderIcon("e2b", { + title: "E2B provider", + }); + + expect(markup).toContain('viewBox="0 0 1117 500"'); + expect(markup).toContain( + 'href="https://raw.githubusercontent.com/e2b-dev/E2B/main/readme-assets/logo-black.png"' + ); + expect(markup).toContain("E2B 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 75e6b394..321bfd76 100644 --- a/packages/ui/src/data-sources/provider-icons.tsx +++ b/packages/ui/src/data-sources/provider-icons.tsx @@ -1,9 +1,5 @@ import type { SourceProviderId } from "@onequery/db/source-providers"; -import { - IconDatabase, - IconHelpCircle, - IconTerminal2, -} from "@tabler/icons-react"; +import { IconHelpCircle } from "@tabler/icons-react"; import type { ComponentType } from "react"; import { si1password, @@ -32,6 +28,7 @@ import { } from "simple-icons"; import { CodexIcon } from "../icons/codex-icon"; +import { E2BIcon } from "../icons/e2b-icon"; import { GoogleSearchConsoleIcon } from "../icons/google-search-console-icon"; import { GranolaIcon } from "../icons/granola-icon"; import { HermesAgentIcon } from "../icons/hermes-agent-icon"; @@ -177,41 +174,6 @@ function MotherDuckIcon({ size = 24, ...props }: ProviderIconProps) { ); } -function TablerProviderIcon({ - "aria-hidden": ariaHidden, - "aria-label": ariaLabel, - defaultLabel, - Icon, - role, - size = 24, - title, - ...props -}: ProviderIconProps & { - defaultLabel: string; - Icon: typeof IconDatabase; -}) { - const accessibility = resolveSvgIconAccessibility({ - ariaHidden, - ariaLabel, - ariaLabelledBy: props["aria-labelledby"], - defaultLabel, - role, - title, - }); - - return ( - - ); -} - function HermesIcon(props: ProviderIconProps) { return ; } @@ -220,12 +182,6 @@ function CodexAppServerApiIcon(props: ProviderIconProps) { return ; } -function E2BIcon(props: ProviderIconProps) { - return ( - - ); -} - function MicrosoftClarityIcon({ size = 24, ...props }: ProviderIconProps) { return ( + + + ); +}