import React, { useContext, useEffect, useState } from 'react'; import { Link, useNavigate } from 'react-router-dom'; import { UserContext } from '../context/User'; import { useSetTheme, useTheme } from '../context/Theme'; import { API, getLogo, getSystemName, isMobile, showSuccess } from '../helpers'; import '../index.css'; import fireworks from 'react-fireworks'; import { IconHelpCircle, IconHome, IconHomeStroked, IconKey, IconNoteMoneyStroked, IconPriceTag, IconUser } from '@douyinfe/semi-icons'; import { Avatar, Dropdown, Layout, Nav, Switch } from '@douyinfe/semi-ui'; import { stringToColor } from '../helpers/render'; import Text from '@douyinfe/semi-ui/lib/es/typography/text'; // HeaderBar Buttons let headerButtons = [ { text: '关于', itemKey: 'about', to: '/about', icon: , }, ]; let buttons = [ { text: '首页', itemKey: 'home', to: '/', // icon: , }, // { // text: '模型价格', // itemKey: 'pricing', // to: '/pricing', // icon: , // }, ]; if (localStorage.getItem('chat_link')) { headerButtons.splice(1, 0, { name: '聊天', to: '/chat', icon: 'comments', }); } const HeaderBar = () => { const [userState, userDispatch] = useContext(UserContext); let navigate = useNavigate(); const [showSidebar, setShowSidebar] = useState(false); const systemName = getSystemName(); const logo = getLogo(); const currentDate = new Date(); // enable fireworks on new year(1.1 and 2.9-2.24) const isNewYear = (currentDate.getMonth() === 0 && currentDate.getDate() === 1) || (currentDate.getMonth() === 1 && currentDate.getDate() >= 9 && currentDate.getDate() <= 24); async function logout() { setShowSidebar(false); await API.get('/api/user/logout'); showSuccess('注销成功!'); userDispatch({ type: 'logout' }); localStorage.removeItem('user'); navigate('/login'); } const handleNewYearClick = () => { fireworks.init('root', {}); fireworks.start(); setTimeout(() => { fireworks.stop(); setTimeout(() => { window.location.reload(); }, 10000); }, 3000); }; const theme = useTheme(); const setTheme = useSetTheme(); useEffect(() => { if (theme === 'dark') { document.body.setAttribute('theme-mode', 'dark'); } if (isNewYear) { console.log('Happy New Year!'); } }, []); return ( <>
); }; export default HeaderBar;