-
Notifications
You must be signed in to change notification settings - Fork 264
Expand file tree
/
Copy pathchatBoxToolbar.tsx
More file actions
55 lines (51 loc) · 2.01 KB
/
chatBoxToolbar.tsx
File metadata and controls
55 lines (51 loc) · 2.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
'use client';
import { Separator } from "@/components/ui/separator";
import { LanguageModelInfo, SearchScope } from "@/features/chat/types";
import { RepositoryQuery, SearchContextQuery } from "@/lib/types";
import { useSelectedLanguageModel } from "../../useSelectedLanguageModel";
import { AtMentionButton } from "./atMentionButton";
import { LanguageModelSelector } from "./languageModelSelector";
import { SearchScopeSelector } from "./searchScopeSelector";
export interface ChatBoxToolbarProps {
languageModels: LanguageModelInfo[];
repos: RepositoryQuery[];
searchContexts: SearchContextQuery[];
selectedSearchScopes: SearchScope[];
onSelectedSearchScopesChange: (items: SearchScope[]) => void;
isContextSelectorOpen: boolean;
onContextSelectorOpenChanged: (isOpen: boolean) => void;
}
export const ChatBoxToolbar = ({
languageModels,
repos,
searchContexts,
selectedSearchScopes,
onSelectedSearchScopesChange,
isContextSelectorOpen,
onContextSelectorOpenChanged,
}: ChatBoxToolbarProps) => {
const { resolvedSelectedLanguageModel, setSelectedLanguageModel } = useSelectedLanguageModel({
languageModels,
});
return (
<>
<AtMentionButton />
<Separator orientation="vertical" className="h-3 mx-1" />
<SearchScopeSelector
className="bg-inherit w-fit h-6 min-h-6"
repos={repos}
searchContexts={searchContexts}
selectedSearchScopes={selectedSearchScopes}
onSelectedSearchScopesChange={onSelectedSearchScopesChange}
isOpen={isContextSelectorOpen}
onOpenChanged={onContextSelectorOpenChanged}
/>
<Separator orientation="vertical" className="h-3 ml-1 mr-2" />
<LanguageModelSelector
languageModels={languageModels}
onSelectedModelChange={setSelectedLanguageModel}
selectedModel={resolvedSelectedLanguageModel}
/>
</>
)
}