ten / demo /src /components /Chat /ChatCfgSelect.tsx
3v324v23's picture
Зафиксирована рабочая версия TEN-Agent для HuggingFace Space
87337b1
raw
history blame contribute delete
2.08 kB
"use client"
import {
Select,
SelectContent,
SelectGroup,
SelectItem,
SelectLabel,
SelectTrigger,
SelectValue,
} from "@/components/ui/select"
import {
useAppDispatch,
LANGUAGE_OPTIONS,
useAppSelector,
GRAPH_OPTIONS,
} from "@/common"
import type { Language } from "@/types"
import { setGraphName, setLanguage } from "@/store/reducers/global"
export function GraphSelect() {
const dispatch = useAppDispatch()
const graphName = useAppSelector((state) => state.global.graphName)
const agentConnected = useAppSelector((state) => state.global.agentConnected)
const onGraphNameChange = (val: string) => {
dispatch(setGraphName(val))
}
return (
<>
<Select
value={graphName}
onValueChange={onGraphNameChange}
disabled={agentConnected}
>
<SelectTrigger className="w-auto max-w-full">
<SelectValue placeholder="Graph" />
</SelectTrigger>
<SelectContent>
{GRAPH_OPTIONS.map((item) => {
return (
<SelectItem value={item.value} key={item.value}>
{item.label}
</SelectItem>
)
})}
</SelectContent>
</Select>
</>
)
}
export function LanguageSelect() {
const dispatch = useAppDispatch()
const language = useAppSelector((state) => state.global.language)
const agentConnected = useAppSelector((state) => state.global.agentConnected)
const onLanguageChange = (val: Language) => {
dispatch(setLanguage(val))
}
return (
<>
<Select
value={language}
onValueChange={onLanguageChange}
disabled={agentConnected}
>
<SelectTrigger className="w-32">
<SelectValue placeholder="Language" />
</SelectTrigger>
<SelectContent>
{LANGUAGE_OPTIONS.map((item) => {
return (
<SelectItem value={item.value} key={item.value}>
{item.label}
</SelectItem>
)
})}
</SelectContent>
</Select>
</>
)
}