import React from 'react'; import { Constants } from 'librechat-data-provider'; import { useGetStartupConfig } from 'librechat-data-provider/react-query'; import { useLocalize } from '~/hooks'; export default function Footer({ className }: { className?: string }) { const { data: config } = useGetStartupConfig(); const localize = useLocalize(); const privacyPolicy = config?.interface?.privacyPolicy; const termsOfService = config?.interface?.termsOfService; const privacyPolicyRender = privacyPolicy?.externalUrl && ( {localize('com_ui_privacy_policy')} ); const termsOfServiceRender = termsOfService?.externalUrl && ( {localize('com_ui_terms_of_service')} ); const mainContentRender = ( {typeof config?.customFooter === 'string' ? ( config.customFooter ) : ( <> {config?.appTitle || 'LibreChat'} {Constants.VERSION} {' - '} {localize('com_ui_new_footer')} )} ); const footerElements = [mainContentRender, privacyPolicyRender, termsOfServiceRender].filter( Boolean, ); return (
{footerElements.map((contentRender, index) => { const isLastElement = index === footerElements.length - 1; return ( {contentRender} {!isLastElement && (
)} ); })}
); }