From a08aef9fb79c8cf8c1109414394da43d6e35db31 Mon Sep 17 00:00:00 2001 From: kaitranntt Date: Sun, 21 Dec 2025 00:08:45 -0500 Subject: [PATCH] feat(ui): add OpenRouter badge to API Profiles sidebar item Shows compact OpenRouter indicator badge with icon and tooltip (349+ models). Badge colors adapt for proper contrast on hover and active states in both light and dark themes. --- ui/src/components/layout/app-sidebar.tsx | 31 ++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/ui/src/components/layout/app-sidebar.tsx b/ui/src/components/layout/app-sidebar.tsx index 3fe67dd7..6aeaac7b 100644 --- a/ui/src/components/layout/app-sidebar.tsx +++ b/ui/src/components/layout/app-sidebar.tsx @@ -31,6 +31,7 @@ import { import { CcsLogo } from '@/components/shared/ccs-logo'; import { useSidebar } from '@/hooks/use-sidebar'; import { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible'; +import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip'; // Define navigation groups const navGroups = [ @@ -44,7 +45,12 @@ const navGroups = [ { title: 'Identity & Access', items: [ - { path: '/providers', icon: Key, label: 'API Profiles' }, + { + path: '/providers', + icon: Key, + label: 'API Profiles', + badge: { text: 'OpenRouter', icon: '/icons/openrouter.svg' }, + }, { path: '/cliproxy', icon: Zap, @@ -147,7 +153,28 @@ export function AppSidebar() { > {item.icon && } - {item.label} + + {item.label} + + {item.badge && ( + + + + + {item.badge.text} + + + +

349+ models via OpenRouter

+
+
+ )} )}