diff --git a/src/elements/content-sidebar/SidebarNav.js b/src/elements/content-sidebar/SidebarNav.js index 14bfbd1c18..af39b1829c 100644 --- a/src/elements/content-sidebar/SidebarNav.js +++ b/src/elements/content-sidebar/SidebarNav.js @@ -68,11 +68,21 @@ const SidebarNav = ({ onPanelChange = noop, }: Props) => { const { enabled: hasBoxSign } = useFeatureConfig('boxSign'); - const { disabledTooltip: boxAIDisabledTooltip, showOnlyNavButton: showOnlyBoxAINavButton } = - useFeatureConfig('boxai.sidebar'); + const { + disabledTooltip: boxAIDisabledTooltip, + showOnlyNavButton: showOnlyBoxAINavButton, + useBoxAISidebarPrompt = () => ({}), + } = useFeatureConfig('boxai.sidebar'); + + const { focusBoxAISidebarPrompt = noop } = useBoxAISidebarPrompt(); const handleSidebarNavButtonClick = (sidebarview: string) => { onPanelChange(sidebarview, false); + + // If the Box AI sidebar is enabled, focus the Box AI sidebar prompt + if (sidebarview === SIDEBAR_VIEW_BOXAI) { + focusBoxAISidebarPrompt(); + } }; return ( diff --git a/src/elements/content-sidebar/__tests__/SidebarNav.test.js b/src/elements/content-sidebar/__tests__/SidebarNav.test.js index 77afc84f73..5bc1271d72 100644 --- a/src/elements/content-sidebar/__tests__/SidebarNav.test.js +++ b/src/elements/content-sidebar/__tests__/SidebarNav.test.js @@ -138,6 +138,31 @@ describe('elements/content-sidebar/SidebarNav', () => { }); }); + test('should call focusBoxAISidebarPrompt when clicked on Box AI Tab', async () => { + const mockFocusBoxAISidebarPrompt = jest.fn(); + const mockUseBoxAISidebarPrompt = () => ({ focusBoxAISidebarPrompt: mockFocusBoxAISidebarPrompt }); + + render( + getSidebarNav({ + features: { + boxai: { + sidebar: { + showOnlyNavButton: false, + useBoxAISidebarPrompt: mockUseBoxAISidebarPrompt, + }, + }, + }, + props: { hasBoxAI: true }, + }), + ); + + const button = screen.getByTestId('sidebarboxai'); + + await userEvent.click(button); + + expect(mockFocusBoxAISidebarPrompt).toHaveBeenCalled(); + }); + test('should have multiple tabs', () => { const props = { hasActivity: true,