import React, { useEffect } from 'react'; import LoginForm from './LoginForm'; import { useAuthContext } from '~/hooks/AuthContext'; import { useNavigate } from 'react-router-dom'; import { useRecoilValue } from 'recoil'; import store from '~/store'; import { localize } from '~/localization/Translation'; import { useGetStartupConfig } from '@librechat/data-provider'; import { GoogleIcon, OpenIDIcon, GithubIcon, DiscordIcon } from '~/components'; function Login() { const { login, error, isAuthenticated } = useAuthContext(); const { data: startupConfig } = useGetStartupConfig(); const lang = useRecoilValue(store.lang); const navigate = useNavigate(); useEffect(() => { if (isAuthenticated) { navigate('/chat/new', { replace: true }); } }, [isAuthenticated, navigate]); return (

{localize(lang, 'com_auth_welcome_back')}

{error && (
{localize(lang, 'com_auth_error_login')}
)} {startupConfig?.registrationEnabled && (

{' '} {localize(lang, 'com_auth_no_account')}{' '} {localize(lang, 'com_auth_sign_up')}

)} {startupConfig?.socialLoginEnabled && ( <>
Or
)} {startupConfig?.googleLoginEnabled && startupConfig?.socialLoginEnabled && ( <>

{localize(lang, 'com_auth_google_login')}

)} {startupConfig?.openidLoginEnabled && startupConfig?.socialLoginEnabled && ( <>
{startupConfig.openidImageUrl ? ( OpenID Logo ) : ( )}

{startupConfig.openidLabel}

)} {startupConfig?.githubLoginEnabled && startupConfig?.socialLoginEnabled && ( <>

{localize(lang, 'com_auth_github_login')}

)} {startupConfig?.discordLoginEnabled && startupConfig?.socialLoginEnabled && ( <>

{localize(lang, 'com_auth_discord_login')}

)}
); } export default Login;