import { h } from 'preact'; import { route } from 'preact-router'; import { useEffect } from 'preact/hooks'; import { useSelector } from 'react-redux' import LogRocket from 'logrocket'; import http from './../http'; import { State } from './../store'; import Swirl from './swirl'; function showAdmin(user) { return user && user.email === 'ntr@mnml.gg'; } const DEFAULT_ROUTE = '/'; const Nav = () => { const user = useSelector((state: State) => state.user); useEffect(() => { if (!user) { route('/login'); return; } route(DEFAULT_ROUTE) if (window.location.host === 'matescrates.au') { LogRocket.identify(user.id, { name: user.email, email: user.email, }); } return; }, [user]) async function logoutClick(e) { e.preventDefault(); await http.postLogout(); window.location.reload(); } const nav = () => ( ); const anonNav = () => ( ); const adminNav = () => ( ) const userNav = () => ( ) return (
{user ? nav() : anonNav()} {showAdmin(user) ? adminNav() :
} {user ? userNav() : null}
); } export default Nav;