import React, { useState } from "react"; import { withRouter } from "next/router"; import { makeStyles } from "@material-ui/styles"; import { AppBar, Tabs, Tab } from "@material-ui/core"; import routes from "../routes"; const TopAppBar: React.FC<{ router: any }> = ({ router }) => { const classes = makeStyles({ root: { flexGrow: 1 } })(); const [value, setValue] = useState( routes.findIndex(({ pathname }) => pathname === router.pathname) ); router.events.on("routeChangeStart", (url: string) => { setValue(routes.findIndex(({ pathname }) => pathname === url)); }); return (
{ router.push(routes[value].pathname); setValue(value); }} variant="fullWidth" indicatorColor="primary" textColor="primary" > {routes.map(({ icon }, i) => ( ))}
); }; export default withRouter(TopAppBar);