-
{props.title}
-
{props.description}
+
+ {props.icon &&
}
+
+
+ {props.title}
+
+
{props.description}
+
);
diff --git a/apps/portal/src/components/Document/SDKCard.tsx b/apps/portal/src/components/Document/SDKCard.tsx
index 73aa2388dc9..8d0062be67d 100644
--- a/apps/portal/src/components/Document/SDKCard.tsx
+++ b/apps/portal/src/components/Document/SDKCard.tsx
@@ -1,16 +1,24 @@
import Link from "next/link";
+import { cn } from "../../lib/utils";
export function SDKCard(props: {
title: string;
href: string;
+ isExternal?: boolean;
icon?: React.FC<{ className?: string }>;
+ iconClassName?: string;
}) {
return (
- {props.icon &&
}
+ {props.icon && (
+
+ )}
{props.title}
diff --git a/apps/portal/src/icons/products/BridgeIcon.tsx b/apps/portal/src/icons/products/BridgeIcon.tsx
new file mode 100644
index 00000000000..00f88f67e48
--- /dev/null
+++ b/apps/portal/src/icons/products/BridgeIcon.tsx
@@ -0,0 +1,24 @@
+export function BridgeIcon({ className }: { className?: string }) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/ConnectIcon.tsx b/apps/portal/src/icons/products/ConnectIcon.tsx
new file mode 100644
index 00000000000..d17a2f8fcb9
--- /dev/null
+++ b/apps/portal/src/icons/products/ConnectIcon.tsx
@@ -0,0 +1,21 @@
+export function ConnectIcon(props: React.SVGProps
) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/ContractsIcon.tsx b/apps/portal/src/icons/products/ContractsIcon.tsx
new file mode 100644
index 00000000000..849a9fc6fcd
--- /dev/null
+++ b/apps/portal/src/icons/products/ContractsIcon.tsx
@@ -0,0 +1,21 @@
+export function ContractsIcon({ className }: { className?: string }) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/EngineIcon.tsx b/apps/portal/src/icons/products/EngineIcon.tsx
new file mode 100644
index 00000000000..7e99d6b3c68
--- /dev/null
+++ b/apps/portal/src/icons/products/EngineIcon.tsx
@@ -0,0 +1,21 @@
+export function EngineIcon(props: React.SVGProps) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/InsightIcon.tsx b/apps/portal/src/icons/products/InsightIcon.tsx
new file mode 100644
index 00000000000..bdea8080daf
--- /dev/null
+++ b/apps/portal/src/icons/products/InsightIcon.tsx
@@ -0,0 +1,21 @@
+export function InsightIcon({ className }: { className?: string }) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/NebulaIcon.tsx b/apps/portal/src/icons/products/NebulaIcon.tsx
new file mode 100644
index 00000000000..a66ec07c35b
--- /dev/null
+++ b/apps/portal/src/icons/products/NebulaIcon.tsx
@@ -0,0 +1,24 @@
+export function NebulaIcon({ className }: { className?: string }) {
+ return (
+
+ );
+}
diff --git a/apps/portal/src/icons/products/PlaygroundIcon.tsx b/apps/portal/src/icons/products/PlaygroundIcon.tsx
new file mode 100644
index 00000000000..129bd4e3bd3
--- /dev/null
+++ b/apps/portal/src/icons/products/PlaygroundIcon.tsx
@@ -0,0 +1,21 @@
+export function PlaygroundIcon(props: React.SVGProps) {
+ return (
+
+ );
+}