import { useRecoilState } from 'recoil'; import { useGetEndpointsQuery } from 'librechat-data-provider'; import { cn, defaultTextProps, removeFocusOutlines, mapEndpoints } from '~/utils'; import { Input, Label, Dropdown, Dialog, DialogClose, DialogButton } from '~/components/'; import PopoverButtons from '~/components/Chat/Input/PopoverButtons'; import DialogTemplate from '~/components/ui/DialogTemplate'; import { useSetIndexOptions, useLocalize } from '~/hooks'; import { EndpointSettings } from '~/components/Endpoints'; import { useChatContext } from '~/Providers'; import store from '~/store'; const EditPresetDialog = ({ exportPreset, submitPreset, }: { exportPreset: () => void; submitPreset: () => void; }) => { const localize = useLocalize(); const { preset } = useChatContext(); const { setOption } = useSetIndexOptions(preset); const [presetModalVisible, setPresetModalVisible] = useRecoilState(store.presetModalVisible); const { data: availableEndpoints = [] } = useGetEndpointsQuery({ select: mapEndpoints, }); const { endpoint } = preset || {}; if (!endpoint) { return null; } return (
setOption('title')(e.target.value || '')} placeholder={localize('com_endpoint_set_custom_name')} className={cn( defaultTextProps, 'flex h-10 max-h-10 w-full resize-none px-3 py-2', removeFocusOutlines, )} />
setOption('endpoint')(value)} options={availableEndpoints} />
} buttons={
{localize('com_endpoint_export')} {localize('com_endpoint_save')}
} />
); }; export default EditPresetDialog;