From f050afc2f78b195a9a9097d33afa431404fd0fd9 Mon Sep 17 00:00:00 2001 From: Michael Chihlas Date: Thu, 16 Apr 2026 03:15:35 +0000 Subject: [PATCH] feat(tickets): add /tickets route and sidebar nav item Add Tickets page route to router with lazy loading and code splitting. Add Tickets navigation entry to sidebar in RESOLVE section for both icon rail and pinned layouts. Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/components/layout/Sidebar.tsx | 7 ++++++- frontend/src/router.tsx | 2 ++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/layout/Sidebar.tsx b/frontend/src/components/layout/Sidebar.tsx index b8e2ae82..2bd2491e 100644 --- a/frontend/src/components/layout/Sidebar.tsx +++ b/frontend/src/components/layout/Sidebar.tsx @@ -5,7 +5,7 @@ import { LayoutGrid, Clock, AlertTriangle, GitBranch, Code2, Wand2, ListChecks, Download, BarChart3, Settings, Pin, PinOff, - History, FileText, Network, + History, FileText, Network, Ticket, } from 'lucide-react' import { cn } from '@/lib/utils' import { useUserPreferencesStore } from '@/store/userPreferencesStore' @@ -83,6 +83,10 @@ export function Sidebar() { { href: '/escalations', label: 'Escalations', count: stats?.escalation_count || undefined }, ], }, + { + href: '/tickets', icon: Ticket, label: 'Tickets', shortLabel: 'Tickets', + matchPaths: ['/tickets'], + }, { href: '/trees', icon: GitBranch, label: 'Flows', shortLabel: 'Flows', badge: stats?.tree_counts.total || undefined, @@ -120,6 +124,7 @@ export function Sidebar() { items: [ { href: '/', icon: LayoutGrid, label: 'Dashboard', shortLabel: 'Dash' }, { href: '/sessions', icon: Clock, label: 'Session History', shortLabel: 'History', badge: stats?.active_count || undefined, matchPaths: ['/sessions'] }, + { href: '/tickets', icon: Ticket, label: 'Tickets', shortLabel: 'Tickets', matchPaths: ['/tickets'] }, { href: '/escalations', icon: AlertTriangle, label: 'Escalations', shortLabel: 'Escal', badge: stats?.escalation_count || undefined }, ], }, diff --git a/frontend/src/router.tsx b/frontend/src/router.tsx index eae1cb56..a4d61a34 100644 --- a/frontend/src/router.tsx +++ b/frontend/src/router.tsx @@ -56,6 +56,7 @@ const FlowPilotAnalyticsPage = lazyWithRetry(() => import('@/pages/FlowPilotAnal const ScriptBuilderPage = lazyWithRetry(() => import('@/pages/ScriptBuilderPage')) const KBAcceleratorPage = lazyWithRetry(() => import('@/pages/KBAcceleratorPage')) const SessionQueuePage = lazyWithRetry(() => import('@/pages/SessionQueuePage')) +const TicketsPage = lazyWithRetry(() => import('@/pages/TicketsPage')) const DevBranchingPage = lazyWithRetry(() => import('@/pages/DevBranchingPage')) const GuidesHubPage = lazyWithRetry(() => import('@/pages/GuidesHubPage')) const GuideDetailPage = lazyWithRetry(() => import('@/pages/GuideDetailPage')) @@ -190,6 +191,7 @@ export const router = sentryCreateBrowserRouter([ { path: 'trees/:id/navigate', element: page(TreeNavigationPage) }, { path: 'sessions', element: page(SessionHistoryPage) }, { path: 'sessions/:id', element: page(SessionDetailPage) }, + { path: 'tickets', element: page(TicketsPage) }, { path: 'shares', element: page(MySharesPage) }, { path: 'analytics', element: page(TeamAnalyticsPage) }, { path: 'analytics/me', element: page(MyAnalyticsPage) },