2023-06-17 11:03:01 +08:00
|
|
|
|
import React, { useEffect, useState } from 'react';
|
2023-04-22 20:39:27 +08:00
|
|
|
|
|
2023-05-14 19:29:02 +08:00
|
|
|
|
import { getFooterHTML, getSystemName } from '../helpers';
|
2024-05-24 21:27:13 +08:00
|
|
|
|
import { Layout, Tooltip } from '@douyinfe/semi-ui';
|
2023-04-22 20:39:27 +08:00
|
|
|
|
|
|
|
|
|
|
const Footer = () => {
|
2023-05-14 19:29:02 +08:00
|
|
|
|
const systemName = getSystemName();
|
2023-06-17 11:03:01 +08:00
|
|
|
|
const [footer, setFooter] = useState(getFooterHTML());
|
|
|
|
|
|
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>
|
|
|
|
|
|
由{' '}
|
|
|
|
|
|
<a
|
|
|
|
|
|
href='https://github.com/Calcium-Ion'
|
|
|
|
|
|
target='_blank'
|
|
|
|
|
|
rel='noreferrer'
|
|
|
|
|
|
>
|
|
|
|
|
|
Calcium-Ion
|
|
|
|
|
|
</a>{' '}
|
|
|
|
|
|
开发,基于{' '}
|
|
|
|
|
|
<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 (
|
2023-12-05 21:09:48 +08:00
|
|
|
|
<Layout>
|
2024-03-15 16:05:33 +08:00
|
|
|
|
<Layout.Content style={{ textAlign: 'center' }}>
|
2023-05-14 19:29:02 +08:00
|
|
|
|
{footer ? (
|
2024-05-24 21:27:13 +08:00
|
|
|
|
<Tooltip content={defaultFooter}>
|
|
|
|
|
|
<div
|
|
|
|
|
|
className='custom-footer'
|
|
|
|
|
|
dangerouslySetInnerHTML={{ __html: footer }}
|
|
|
|
|
|
></div>
|
|
|
|
|
|
</Tooltip>
|
2023-05-14 19:29:02 +08:00
|
|
|
|
) : (
|
2024-05-24 21:27:13 +08:00
|
|
|
|
defaultFooter
|
2023-04-22 20:39:27 +08:00
|
|
|
|
)}
|
2023-12-05 21:09:48 +08:00
|
|
|
|
</Layout.Content>
|
|
|
|
|
|
</Layout>
|
2023-04-22 20:39:27 +08:00
|
|
|
|
);
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
export default Footer;
|