import type { ReactNode } from 'react'; import { useGetEndpointsQuery } from 'librechat-data-provider/react-query'; import { EModelEndpoint } from 'librechat-data-provider'; import { icons } from './Menus/Endpoints/Icons'; import { useChatContext } from '~/Providers'; import { getEndpointField } from '~/utils'; import { useLocalize } from '~/hooks'; export default function Landing({ Header }: { Header?: ReactNode }) { const { data: endpointsConfig } = useGetEndpointsQuery(); const { conversation } = useChatContext(); const localize = useLocalize(); let { endpoint } = conversation ?? {}; if ( endpoint === EModelEndpoint.assistant || endpoint === EModelEndpoint.chatGPTBrowser || endpoint === EModelEndpoint.azureOpenAI || endpoint === EModelEndpoint.gptPlugins ) { endpoint = EModelEndpoint.openAI; } const endpointType = getEndpointField(endpointsConfig, endpoint, 'type'); const iconURL = getEndpointField(endpointsConfig, endpoint, 'iconURL'); const iconKey = endpointType ? 'unknown' : endpoint ?? 'unknown'; return (
{Header && Header}
{endpoint && icons[iconKey]({ size: 41, context: 'landing', className: 'h-2/3 w-2/3', endpoint: endpoint, iconURL: iconURL, })}
{localize('com_nav_welcome_message')}
); }