import { useTranslation } from "react-i18next"; import { Blocks, ExternalLink } from "lucide-react"; import { NavigationLink } from "#/components/shared/navigation-link"; import { cn } from "#/utils/utils"; import SkillsIcon from "#/icons/skills.svg?react"; import ServerProcessIcon from "#/icons/server-process.svg?react"; import { BackendSyncedSettingsBadge } from "#/components/features/settings/backend-synced-settings-badge"; import { SIDEBAR_ROW_INTERACTIVE_CLASS, sidebarNavRowClassName, } from "#/components/features/sidebar/sidebar-layout"; import { I18nKey } from "#/i18n/declaration"; import { useActiveBackendContext } from "#/contexts/active-backend-context"; import { isNoBackend } from "#/api/backend-registry/active-store"; /** Only the Skills item points to a cloud-hosted page today. */ const CLOUD_LINKED_EXTENSION_PATH = "/skills"; /** Backend-installed artifacts are not available on Cloud backends yet. */ const CLOUD_HIDDEN_EXTENSION_PATHS = new Set(["/plugins", "/apps"]); interface ExtensionNavItem { to: string; label: string; icon: React.ReactElement; end?: boolean; comingSoon?: boolean; } export const EXTENSIONS_NAV_ITEMS: ExtensionNavItem[] = [ { to: "/mcp", label: "MCP Servers", icon: , end: true, }, { to: "/skills", label: "Skills", icon: