Skip to content

Commit f2ca1a4

Browse files
fix: open assistant navigation to session list
1 parent da443b0 commit f2ca1a4

4 files changed

Lines changed: 16 additions & 16 deletions

File tree

frontend/src/components/navigation/MobileTabBar.test.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ describe('MobileTabBar', () => {
7777
expect(screen.getByText('Schedules')).toBeInTheDocument()
7878
})
7979

80-
it('navigates to /assistant when assistant is clicked from repo context', async () => {
80+
it('navigates to assistant session list when assistant is clicked from repo context', async () => {
8181
vi.mocked(useMobile).mockReturnValue(true)
8282
const queryClient = new QueryClient()
8383
const user = userEvent.setup()
@@ -96,10 +96,10 @@ describe('MobileTabBar', () => {
9696
)
9797

9898
await user.click(screen.getByRole('button', { name: 'Assistant' }))
99-
expect(screen.getByTestId('location')).toHaveTextContent('/assistant')
99+
expect(screen.getByTestId('location')).toHaveTextContent('/assistant?view=sessions')
100100
})
101101

102-
it('navigates to assistant route when assistant is clicked without repo id', async () => {
102+
it('navigates to assistant session list when assistant is clicked without repo id', async () => {
103103
vi.mocked(useMobile).mockReturnValue(true)
104104
const queryClient = new QueryClient()
105105
const user = userEvent.setup()
@@ -118,7 +118,7 @@ describe('MobileTabBar', () => {
118118
)
119119

120120
await user.click(screen.getByRole('button', { name: 'Assistant' }))
121-
expect(screen.getByTestId('location')).toHaveTextContent('/assistant')
121+
expect(screen.getByTestId('location')).toHaveTextContent('/assistant?view=sessions')
122122
})
123123

124124
it('renders schedule tabs on /repos/:id/schedules path', () => {

frontend/src/components/navigation/MobileTabBar.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { useMobile } from '@/hooks/useMobile'
66
import { useMobileTabBar } from '@/hooks/useMobileTabBar'
77
import { useUrlParams } from '@/hooks/useUrlParams'
88
import { useScheduleUrlState, type ScheduleTab } from '@/hooks/useScheduleUrlState'
9-
import { getAssistantPath, isAssistantPath } from '@/lib/navigation'
9+
import { getAssistantPath, getAssistantSessionListPath, isAssistantPath } from '@/lib/navigation'
1010

1111
interface TabDef {
1212
key: string
@@ -74,7 +74,7 @@ function buildGlobalTabs({ pathname, openSheet, open, close, navigate, isInsideR
7474

7575
const handleAssistantClick = () => {
7676
close()
77-
navigate(getAssistantPath())
77+
navigate(getAssistantSessionListPath())
7878
}
7979

8080
return [

frontend/src/components/navigation/moreDrawerItems.test.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ describe('buildNavModel', () => {
9090
expect(model.primary[0].key).toBe('new-repo')
9191
expect(model.primary[0].onSelect).toBe('new-repo')
9292
expect(model.primary[1].key).toBe('assistant')
93-
expect(model.primary[1].to).toBe('/assistant')
93+
expect(model.primary[1].to).toBe('/assistant?view=sessions')
9494
})
9595

9696
it('returns new-session and assistant primary CTAs for repo detail', () => {
@@ -99,7 +99,7 @@ describe('buildNavModel', () => {
9999
expect(model.primary[0].key).toBe('new-session')
100100
expect(model.primary[0].onSelect).toBe('new-session')
101101
expect(model.primary[1].key).toBe('assistant')
102-
expect(model.primary[1].to).toBe('/assistant')
102+
expect(model.primary[1].to).toBe('/assistant?view=sessions')
103103
})
104104

105105
it('returns new-session and assistant primary CTAs for session detail', () => {
@@ -109,7 +109,7 @@ describe('buildNavModel', () => {
109109
expect(model.primary[0].onSelect).toBe('new-session')
110110
expect(model.primary[0].variant).toBe('primary')
111111
expect(model.primary[1].key).toBe('assistant')
112-
expect(model.primary[1].to).toBe('/assistant')
112+
expect(model.primary[1].to).toBe('/assistant?view=sessions')
113113
expect(model.primary[1].variant).toBe('secondary')
114114
})
115115

@@ -120,7 +120,7 @@ describe('buildNavModel', () => {
120120
expect(model.primary[0].onSelect).toBe('new-session')
121121
expect(model.primary[0].variant).toBe('primary')
122122
expect(model.primary[1].key).toBe('assistant')
123-
expect(model.primary[1].to).toBe('/assistant')
123+
expect(model.primary[1].to).toBe('/assistant?view=sessions')
124124
expect(model.primary[1].variant).toBe('secondary')
125125
})
126126

@@ -131,7 +131,7 @@ describe('buildNavModel', () => {
131131
expect(model.primary[0].onSelect).toBe('new-session')
132132
expect(model.primary[0].variant).toBe('primary')
133133
expect(model.primary[1].key).toBe('assistant')
134-
expect(model.primary[1].to).toBe('/assistant')
134+
expect(model.primary[1].to).toBe('/assistant?view=sessions')
135135
expect(model.primary[1].variant).toBe('secondary')
136136
})
137137

@@ -141,21 +141,21 @@ describe('buildNavModel', () => {
141141
expect(model1.primary[0].key).toBe('new-schedule')
142142
expect(model1.primary[0].onSelect).toBe('new-schedule')
143143
expect(model1.primary[1].key).toBe('assistant')
144-
expect(model1.primary[1].to).toBe('/assistant')
144+
expect(model1.primary[1].to).toBe('/assistant?view=sessions')
145145

146146
const model2 = buildNavModel('/repos/5/schedules')
147147
expect(model2.primary).toHaveLength(2)
148148
expect(model2.primary[0].key).toBe('new-schedule')
149149
expect(model2.primary[0].onSelect).toBe('new-schedule')
150150
expect(model2.primary[1].key).toBe('assistant')
151-
expect(model2.primary[1].to).toBe('/assistant')
151+
expect(model2.primary[1].to).toBe('/assistant?view=sessions')
152152
})
153153

154154
it('returns assistant primary for unknown routes', () => {
155155
const model = buildNavModel('/unknown/path')
156156
expect(model.primary).toHaveLength(1)
157157
expect(model.primary[0].key).toBe('assistant')
158-
expect(model.primary[0].to).toBe('/assistant')
158+
expect(model.primary[0].to).toBe('/assistant?view=sessions')
159159
})
160160

161161
it('preserves backwards compatibility with buildMoreItems', () => {

frontend/src/components/navigation/moreDrawerItems.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import type { LucideIcon } from 'lucide-react'
22
import { Plug, Sparkles, ShieldOff, CalendarClock, GitCommitHorizontal, Code2, Settings, LogOut, Plus, Bot, Folder, Clock, SquarePlus } from 'lucide-react'
3-
import { getAssistantPath, isAssistantPath } from '@/lib/navigation'
3+
import { getAssistantSessionListPath, isAssistantPath } from '@/lib/navigation'
44

55
export interface MoreDrawerItem {
66
key: string
@@ -30,7 +30,7 @@ function getAssistantNavItem(_pathname: string, variant: NavPrimaryCta['variant'
3030
key: 'assistant',
3131
label: 'Assistant',
3232
icon: Bot,
33-
to: getAssistantPath(),
33+
to: getAssistantSessionListPath(),
3434
variant,
3535
}
3636
}

0 commit comments

Comments
 (0)