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 (
+
+
+ );
+}