From 18247aa7a59bf0e94507533ba0509da81d98cc8d Mon Sep 17 00:00:00 2001 From: xmanrui <841206367@qq.com> Date: Mon, 2 Mar 2026 04:57:44 +0800 Subject: [PATCH] feat(ui): use simpleicons platform logos with local fallback --- app/page.tsx | 27 ++++++++++++++++++++++- public/assets/platform-logos/discord.svg | 7 ++++++ public/assets/platform-logos/feishu.svg | 23 +++++++++++++++++++ public/assets/platform-logos/telegram.svg | 5 +++++ public/assets/platform-logos/whatsapp.svg | 5 +++++ 5 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 public/assets/platform-logos/discord.svg create mode 100644 public/assets/platform-logos/feishu.svg create mode 100644 public/assets/platform-logos/telegram.svg create mode 100644 public/assets/platform-logos/whatsapp.svg diff --git a/app/page.tsx b/app/page.tsx index bbd5d06..08cb4d0 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -186,6 +186,20 @@ interface PlatformTestResult { function PlatformBadge({ platform, agentId, gatewayPort, gatewayToken, gatewayHost, t, testResult }: { platform: Platform; agentId: string; gatewayPort: number; gatewayToken?: string; gatewayHost?: string; t: TFunc; testResult?: PlatformTestResult | null }) { const pName = platform.name; const badgeWidthClass = "w-[8.25rem]"; + const remoteLogoSrc = pName === "feishu" + ? "https://cdn.simpleicons.org/lark/2E5BFF" + : pName === "telegram" + ? "https://cdn.simpleicons.org/telegram/26A5E4" + : pName === "whatsapp" + ? "https://cdn.simpleicons.org/whatsapp/25D366" + : "https://cdn.simpleicons.org/discord/5865F2"; + const logoFallbackSrc = pName === "feishu" + ? "/assets/platform-logos/feishu.svg" + : pName === "telegram" + ? "/assets/platform-logos/telegram.svg" + : pName === "whatsapp" + ? "/assets/platform-logos/whatsapp.svg" + : "/assets/platform-logos/discord.svg"; let sessionKey: string; if (pName === "feishu" && platform.botOpenId) { @@ -210,10 +224,11 @@ function PlatformBadge({ platform, agentId, gatewayPort, gatewayToken, gatewayHo ? "bg-green-500/20 text-green-300 border border-green-500/30 hover:bg-green-500/40 hover:border-green-400" : "bg-purple-500/20 text-purple-300 border border-purple-500/30 hover:bg-purple-500/40 hover:border-purple-400"; - const label = pName === "feishu" ? t("platform.feishu") + const labelRaw = pName === "feishu" ? t("platform.feishu") : pName === "telegram" ? t("platform.telegram") : pName === "whatsapp" ? t("platform.whatsapp") : t("platform.discord"); + const label = labelRaw.replace(/^[^\p{L}\p{N}]+/u, "").trim(); return (