import React, { useEffect, useState } from 'react'; import Link from 'next/link'; import axios from 'axios'; import Logo from '../common/Logo'; import HeaderLink from './HeaderLink'; import Committee from '../icons/Committee'; import Help from '../icons/Help'; import Ranking from '../icons/Ranking'; import Team from '../icons/Team'; import Menu from '../icons/Menu'; import CloseMenu from '../icons/CloseMenu'; import { CustomResponse } from '../../model/common'; interface HeaderProps { splash?: boolean; onDark?: boolean; auth?: boolean; } const Header: React.FC = ({ splash, onDark, auth }) => { const [isOpen, setOpen] = useState(false); const [notifications, setNotifications] = useState(0); useEffect(() => { if (!auth) { try { axios .post>('/api/getNotificationsCount') .then(({ data: { ok, data: notificationsCount } }) => { if (ok) { setNotifications(notificationsCount); } }); } catch (err) { console.log('Error loading notifications ', err); } } }); return (
{!splash ? ( ) : null}
{!auth ? ( <> } onDark={onDark} /> } onDark={onDark} notification={notifications} /> ) : null} } onDark={onDark} /> } onDark={onDark} />
); }; export default Header;