77 lines
1.8 KiB
JavaScript
Raw Normal View History

import React, { useEffect, useState, useContext } from 'react';
import { useTranslation } from 'react-i18next';
import { getFooterHTML, getSystemName } from '../helpers';
2024-05-24 21:27:13 +08:00
import { Layout, Tooltip } from '@douyinfe/semi-ui';
import { StyleContext } from '../context/Style/index.js';
2023-04-22 20:39:27 +08:00
2024-09-17 19:55:18 +08:00
const FooterBar = () => {
const { t } = useTranslation();
const systemName = getSystemName();
2023-06-17 11:03:01 +08:00
const [footer, setFooter] = useState(getFooterHTML());
const [styleState] = useContext(StyleContext);
2023-06-17 11:03:01 +08:00
let remainCheckTimes = 5;
const loadFooter = () => {
let footer_html = localStorage.getItem('footer_html');
if (footer_html) {
setFooter(footer_html);
}
};
2024-05-24 21:27:13 +08:00
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('由')}{' '}
2025-04-04 12:00:38 +08:00
<a href='https://github.com/Calcium-Ion' target='_blank' rel='noreferrer'>
2024-05-24 21:27:13 +08:00
Calcium-Ion
</a>{' '}
{t('开发,基于')}{' '}
2024-05-24 21:27:13 +08:00
<a
href='https://github.com/songquanpeng/one-api'
target='_blank'
rel='noreferrer'
>
One API
</a>
</div>
);
2023-06-17 11:03:01 +08:00
useEffect(() => {
const timer = setInterval(() => {
if (remainCheckTimes <= 0) {
clearInterval(timer);
return;
}
remainCheckTimes--;
loadFooter();
}, 200);
return () => clearTimeout(timer);
}, []);
2023-04-22 20:39:27 +08:00
return (
2025-04-04 12:00:38 +08:00
<div
style={{
textAlign: 'center',
paddingBottom: '5px',
}}
>
2024-09-17 19:55:18 +08:00
{footer ? (
<div
className='custom-footer'
dangerouslySetInnerHTML={{ __html: footer }}
></div>
) : (
defaultFooter
)}
</div>
2023-04-22 20:39:27 +08:00
);
};
2024-09-17 19:55:18 +08:00
export default FooterBar;