From 8f4ca2aedcf4ba764fa569505c1485b798f4194c Mon Sep 17 00:00:00 2001 From: Jonathan Singer Date: Mon, 20 Jul 2026 16:48:41 -0400 Subject: [PATCH] Add a collapsible sidebar to the local viewer Toggle it to a narrow icon-only rail; the choice is remembered in localStorage and each icon keeps a hover tooltip so labels stay findable. --- strix/viewer_src/src/components/ProCta.tsx | 18 +++ strix/viewer_src/src/components/Sidebar.tsx | 151 +++++++++++++++----- 2 files changed, 136 insertions(+), 33 deletions(-) diff --git a/strix/viewer_src/src/components/ProCta.tsx b/strix/viewer_src/src/components/ProCta.tsx index df82db09..686b4d40 100644 --- a/strix/viewer_src/src/components/ProCta.tsx +++ b/strix/viewer_src/src/components/ProCta.tsx @@ -103,12 +103,30 @@ export function ProNavItem({ feature, active, onClick, + collapsed = false, }: { feature: ProFeature; active?: boolean; onClick: () => void; + collapsed?: boolean; }) { const Icon = feature.icon; + if (collapsed) { + return ( + + ); + } return ( + trackCta("sidebar_start_free", "sidebar")} - className="mt-3 flex w-full cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-white px-3 py-2 text-sm font-semibold text-black transition-opacity hover:opacity-90" + title="Explore full platform" + className={`mt-3 flex w-full cursor-pointer items-center justify-center gap-1.5 rounded-lg bg-white font-semibold text-black transition-opacity hover:opacity-90 ${ + collapsed ? "px-0 py-2" : "px-3 py-2 text-sm" + }`} > - Explore full platform + {!collapsed && "Explore full platform"} {verified && email && ( -
-
+