From 1a728fe51aaef37241d178272d63f176f02f310b Mon Sep 17 00:00:00 2001 From: xarmian Date: Fri, 29 May 2026 11:03:24 -0400 Subject: [PATCH] feat(web): add Insights sidebar nav link (TASK-1636) (#644) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add an "Insights" nav item to the workspace sidebar directly under Dashboard, routing to /[username]/[workspace]/insights (the Reports surface, TASK-1633). Mirrors the existing nav-item pattern with an isInsightsPage active state. No dashboard widget/CTA (owner directive — keep the dashboard uncluttered). Parent: PLAN-1628. --- web/src/lib/components/layout/Sidebar.svelte | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/web/src/lib/components/layout/Sidebar.svelte b/web/src/lib/components/layout/Sidebar.svelte index 061437ca..a1e5d480 100644 --- a/web/src/lib/components/layout/Sidebar.svelte +++ b/web/src/lib/components/layout/Sidebar.svelte @@ -30,6 +30,7 @@ let wsPrefix = $derived(wsUsername && wsSlug ? `/${wsUsername}/${wsSlug}` : ''); let isGuest = $derived(workspaceStore.current?.is_guest ?? false); let isDashboardPage = $derived(wsPrefix ? page.url.pathname === wsPrefix : false); + let isInsightsPage = $derived(wsPrefix ? page.url.pathname === `${wsPrefix}/insights` : false); let isRolesPage = $derived(wsPrefix ? page.url.pathname === `${wsPrefix}/roles` : false); let isActivityPage = $derived(wsPrefix ? page.url.pathname === `${wsPrefix}/activity` : false); let isStarredPage = $derived(wsPrefix ? page.url.pathname === `${wsPrefix}/starred` : false); @@ -412,6 +413,15 @@ 📊 Dashboard + uiStore.onNavigate()} + > + 📈 + Insights +