import { ChevronLeft, AppWindow, Store, ShieldQuestion } from "lucide-react"; import { Link } from "@/lib/router"; import { useCompany } from "@/context/CompanyContext"; import { useSidebar } from "@/context/SidebarContext"; import { DEVELOPER_TABS, advancedTabHref, isExperimentalToolTab } from "@/pages/tools/tool-tabs"; import { useSmokeLabEnabled } from "@/hooks/useSmokeLabEnabled"; import { useReviewCount } from "@/pages/apps/useReviewCount"; import { SidebarNavItem } from "./SidebarNavItem"; /** * Secondary sidebar for the prosumer Apps area (PAP-10856; three-door IA * PAP-13254 / U3). * * ← Back · APPS: Browse / Review (n) * DEVELOPER: Connections / Activity * * "Browse" is the store and "Review" holds decisions waiting on the user's * OK. Connection management lives with the Developer tools. * "Needs attention" is no longer a door: health/error triage folds into * Connections as a status filter + banner, so approvals are never buried * behind an error label. The Developer section was folded in from the retired * ToolsSidebar (PAP-10915) so the whole Apps area shares one sidebar; a * one-line caption frames who it's for (Finding A). "Run your own" and "Paste a * config" moved out of the sidebar into rows on the Connect-an-app page * (PAP-10922). */ export function AppsSidebar() { const { selectedCompany } = useCompany(); const { isMobile, setSidebarOpen } = useSidebar(); const reviewCount = useReviewCount(); const { enabled: smokeLabEnabled } = useSmokeLabEnabled(); const developerTabs = DEVELOPER_TABS.filter((tab) => { // Temporarily hide Gateways and Profiles until they are ready to ship. // Keep their tab definitions and routes intact so we can bring them back later. if (tab.key === "gateways" || tab.key === "profiles") return false; return !isExperimentalToolTab(tab.key) || smokeLabEnabled; }); return ( ); }