import { h } from 'preact'; import { route } from 'preact-router'; import { useSelector, useDispatch } from 'react-redux' import http from './../http'; import { State, userState } from './../store'; const Header = () => { const dispatch = useDispatch() const user = useSelector((state: State) => state.user); async function logoutClick(e) { e.preventDefault(); await http.postLogout(); route('/login'); dispatch(userState.actions.set(null)); } const nav = () => ( ); const anonNav = () => ( ); const adminNav = () => ( ) const userNav = () => ( ) return (
{user ? nav() : anonNav()} {user ? adminNav() : null} {user ? userNav() : null}
); } export default Header;