mirror of
https://github.com/danny-avila/LibreChat.git
synced 2026-09-01 03:27:01 +00:00
* chore: bump vite, vitejs/plugin-react, mark client package as esm, move react-query as a peer dep in data-provider * chore: import changes due to new data-provider export strategy, also fix type imports where applicable * chore: export react-query services as separate to avoid react dependencies in /api/ * chore: suppress sourcemap warnings and polyfill node:path which is used by filenamify TODO: replace filenamify with an alternative and REMOVE polyfill * chore: /api/ changes to support `librechat-data-provider` * refactor: rewrite Dockerfile.multi in light of /api/ changes to support `librechat-data-provider` * chore: remove volume mapping to node_modules directories in default compose file * chore: remove schemas from /api/ as is no longer needed with use of `librechat-data-provider` * fix(ci): jest `librechat-data-provider/react-query` module resolution
44 lines
1.5 KiB
TypeScript
44 lines
1.5 KiB
TypeScript
import type { FC } from 'react';
|
|
import { Close } from '@radix-ui/react-popover';
|
|
import { EModelEndpoint, alternateName } from 'librechat-data-provider';
|
|
import { useGetEndpointsQuery } from 'librechat-data-provider/react-query';
|
|
import MenuSeparator from '../UI/MenuSeparator';
|
|
import MenuItem from './MenuItem';
|
|
|
|
const EndpointItems: FC<{
|
|
endpoints: EModelEndpoint[];
|
|
selected: EModelEndpoint | '';
|
|
}> = ({ endpoints, selected }) => {
|
|
const { data: endpointsConfig } = useGetEndpointsQuery();
|
|
return (
|
|
<>
|
|
{endpoints &&
|
|
endpoints.map((endpoint, i) => {
|
|
if (!endpoint) {
|
|
return null;
|
|
} else if (!endpointsConfig?.[endpoint]) {
|
|
return null;
|
|
}
|
|
const userProvidesKey = endpointsConfig?.[endpoint]?.userProvide;
|
|
return (
|
|
<Close asChild key={`endpoint-${endpoint}`}>
|
|
<div key={`endpoint-${endpoint}`}>
|
|
<MenuItem
|
|
key={`endpoint-item-${endpoint}`}
|
|
title={alternateName[endpoint] || endpoint}
|
|
value={endpoint}
|
|
selected={selected === endpoint}
|
|
data-testid={`endpoint-item-${endpoint}`}
|
|
userProvidesKey={!!userProvidesKey}
|
|
// description="With DALL·E, browsing and analysis"
|
|
/>
|
|
{i !== endpoints.length - 1 && <MenuSeparator />}
|
|
</div>
|
|
</Close>
|
|
);
|
|
})}
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default EndpointItems;
|