| "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> | |
| </> | |
| ) | |
| } | |