import { EModelEndpoint } from 'librechat-data-provider'; import { useGetEndpointsQuery, useGetStartupConfig } from 'librechat-data-provider/react-query'; import type { ReactNode } from 'react'; import { TooltipProvider, Tooltip, TooltipTrigger, TooltipContent } from '~/components/ui'; import { useChatContext, useAssistantsMapContext } from '~/Providers'; import ConvoIcon from '~/components/Endpoints/ConvoIcon'; import { BirthdayIcon } from '~/components/svg'; import { getIconEndpoint, cn } from '~/utils'; import { useLocalize } from '~/hooks'; export default function Landing({ Header }: { Header?: ReactNode }) { const { conversation } = useChatContext(); const assistantMap = useAssistantsMapContext(); const { data: startupConfig } = useGetStartupConfig(); const { data: endpointsConfig } = useGetEndpointsQuery(); const localize = useLocalize(); let { endpoint = '' } = conversation ?? {}; const { assistant_id = null } = conversation ?? {}; if ( endpoint === EModelEndpoint.chatGPTBrowser || endpoint === EModelEndpoint.azureOpenAI || endpoint === EModelEndpoint.gptPlugins ) { endpoint = EModelEndpoint.openAI; } const iconURL = conversation?.iconURL; endpoint = getIconEndpoint({ endpointsConfig, iconURL, endpoint }); const assistant = endpoint === EModelEndpoint.assistants && assistantMap?.[assistant_id ?? '']; const assistantName = (assistant && assistant?.name) || ''; const assistantDesc = (assistant && assistant?.description) || ''; const avatar = (assistant && (assistant?.metadata?.avatar as string)) || ''; const containerClassName = 'shadow-stroke relative flex h-full items-center justify-center rounded-full bg-white text-black'; return (
{Header && Header}
{(startupConfig?.showBirthdayIcon ?? false) && ( )} {localize('com_ui_happy_birthday')}
{assistantName ? (
{assistantName}
{assistantDesc ? assistantDesc : localize('com_nav_welcome_message')}
{/*
By Daniel Avila
*/}
) : (
{endpoint === EModelEndpoint.assistants ? conversation?.greeting ?? localize('com_nav_welcome_assistant') : conversation?.greeting ?? localize('com_nav_welcome_message')}
)}
); }