| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- import React, { useEffect, useState, useContext } from 'react';
- import { useTranslation } from 'react-i18next';
- import { getFooterHTML, getSystemName } from '../helpers';
- import { Layout, Tooltip } from '@douyinfe/semi-ui';
- import { StyleContext } from '../context/Style/index.js';
- const FooterBar = () => {
- const { t } = useTranslation();
- const systemName = getSystemName();
- const [footer, setFooter] = useState(getFooterHTML());
- const [styleState] = useContext(StyleContext);
- let remainCheckTimes = 5;
- const loadFooter = () => {
- let footer_html = localStorage.getItem('footer_html');
- if (footer_html) {
- setFooter(footer_html);
- }
- };
- const defaultFooter = (
- <div className='custom-footer'>
- <a
- href='https://github.com/Calcium-Ion/new-api'
- target='_blank'
- rel='noreferrer'
- >
- New API {import.meta.env.VITE_REACT_APP_VERSION}{' '}
- </a>
- {t('由')}{' '}
- <a
- href='https://github.com/Calcium-Ion'
- target='_blank'
- rel='noreferrer'
- >
- Calcium-Ion
- </a>{' '}
- {t('开发,基于')}{' '}
- <a
- href='https://github.com/songquanpeng/one-api'
- target='_blank'
- rel='noreferrer'
- >
- One API
- </a>
- </div>
- );
- useEffect(() => {
- const timer = setInterval(() => {
- if (remainCheckTimes <= 0) {
- clearInterval(timer);
- return;
- }
- remainCheckTimes--;
- loadFooter();
- }, 200);
- return () => clearTimeout(timer);
- }, []);
- return (
- <div style={{
- textAlign: 'center',
- paddingBottom: styleState?.isMobile ? '112px' : '5px',
- }}>
- {footer ? (
- <div
- className='custom-footer'
- dangerouslySetInnerHTML={{ __html: footer }}
- ></div>
- ) : (
- defaultFooter
- )}
- </div>
- );
- };
- export default FooterBar;
|