2024-05-28 05:25:07 -07:00
|
|
|
import { useLocalize } from '~/hooks';
|
|
|
|
|
import { TStartupConfig } from 'librechat-data-provider';
|
|
|
|
|
|
|
|
|
|
function Footer({ startupConfig }: { startupConfig: TStartupConfig | null | undefined }) {
|
|
|
|
|
const localize = useLocalize();
|
|
|
|
|
if (!startupConfig) {
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
const privacyPolicy = startupConfig.interface?.privacyPolicy;
|
|
|
|
|
const termsOfService = startupConfig.interface?.termsOfService;
|
|
|
|
|
|
|
|
|
|
const privacyPolicyRender = privacyPolicy?.externalUrl && (
|
|
|
|
|
<a
|
|
|
|
|
className="text-sm text-green-500"
|
|
|
|
|
href={privacyPolicy.externalUrl}
|
|
|
|
|
target={privacyPolicy.openNewTab ? '_blank' : undefined}
|
|
|
|
|
rel="noreferrer"
|
|
|
|
|
>
|
|
|
|
|
{localize('com_ui_privacy_policy')}
|
|
|
|
|
</a>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
const termsOfServiceRender = termsOfService?.externalUrl && (
|
|
|
|
|
<a
|
|
|
|
|
className="text-sm text-green-500"
|
|
|
|
|
href={termsOfService.externalUrl}
|
|
|
|
|
target={termsOfService.openNewTab ? '_blank' : undefined}
|
|
|
|
|
rel="noreferrer"
|
|
|
|
|
>
|
|
|
|
|
{localize('com_ui_terms_of_service')}
|
|
|
|
|
</a>
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
return (
|
2024-08-16 03:27:56 -04:00
|
|
|
<div className="align-end m-4 flex justify-center gap-2" role="contentinfo">
|
2024-05-28 05:25:07 -07:00
|
|
|
{privacyPolicyRender}
|
|
|
|
|
{privacyPolicyRender && termsOfServiceRender && (
|
|
|
|
|
<div className="border-r-[1px] border-gray-300 dark:border-gray-600" />
|
|
|
|
|
)}
|
|
|
|
|
{termsOfServiceRender}
|
|
|
|
|
</div>
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
export default Footer;
|