@@ -6,12 +6,13 @@ import { ChatBoxToolbar } from "@/features/chat/components/chatBox/chatBoxToolba
66import { LanguageModelInfo , SearchScope } from "@/features/chat/types" ;
77import { useCreateNewChatThread } from "@/features/chat/useCreateNewChatThread" ;
88import { RepositoryQuery , SearchContextQuery } from "@/lib/types" ;
9- import { useState } from "react" ;
9+ import { useCallback , useState } from "react" ;
1010import { SearchModeSelector , SearchModeSelectorProps } from "./toolbar" ;
1111import { useLocalStorage } from "usehooks-ts" ;
1212import { DemoExamples } from "@/types" ;
1313import { AskSourcebotDemoCards } from "./askSourcebotDemoCards" ;
14- import { AskSourcebotTutorial } from "./askSourcebotTutorial" ;
14+ import { AgenticSearchTutorialDialog } from "./agenticSearchTutorialDialog" ;
15+ import { setAgenticSearchTutorialDismissedCookie } from "@/actions" ;
1516
1617interface AgenticSearchProps {
1718 searchModeSelectorProps : SearchModeSelectorProps ;
@@ -24,6 +25,7 @@ interface AgenticSearchProps {
2425 name : string | null ;
2526 } [ ] ;
2627 demoExamples : DemoExamples | undefined ;
28+ isTutorialDismissed : boolean ;
2729}
2830
2931export const AgenticSearch = ( {
@@ -32,11 +34,17 @@ export const AgenticSearch = ({
3234 repos,
3335 searchContexts,
3436 demoExamples,
37+ isTutorialDismissed,
3538} : AgenticSearchProps ) => {
3639 const { createNewChatThread, isLoading } = useCreateNewChatThread ( ) ;
3740 const [ selectedSearchScopes , setSelectedSearchScopes ] = useLocalStorage < SearchScope [ ] > ( "selectedSearchScopes" , [ ] , { initializeWithValue : false } ) ;
3841 const [ isContextSelectorOpen , setIsContextSelectorOpen ] = useState ( false ) ;
39- const [ isTutorialOpen , setIsTutorialOpen ] = useState ( true ) ;
42+
43+ const [ isTutorialOpen , setIsTutorialOpen ] = useState ( ! isTutorialDismissed ) ;
44+ const onTutorialDismissed = useCallback ( ( ) => {
45+ setIsTutorialOpen ( false ) ;
46+ setAgenticSearchTutorialDismissedCookie ( true ) ;
47+ } , [ ] ) ;
4048
4149 return (
4250 < div className = "flex flex-col items-center w-full" >
@@ -78,10 +86,11 @@ export const AgenticSearch = ({
7886 />
7987 ) }
8088
81- < AskSourcebotTutorial
82- isOpen = { isTutorialOpen }
83- onClose = { ( ) => setIsTutorialOpen ( false ) }
84- />
89+ { isTutorialOpen && (
90+ < AgenticSearchTutorialDialog
91+ onClose = { onTutorialDismissed }
92+ />
93+ ) }
8594 </ div >
8695 )
8796}
0 commit comments