src/components/App/index.js
import React from 'react';
import { BrowserRouter as Router, Route } from 'react-router-dom';
import Navigation from '../Navigation';
import LandingPage from '../Landing';
import SignUpPage from '../SignUp';
import SignInPage from '../SignIn';
import PasswordForgetPage from '../PasswordForget';
import DashboardPage from '../Dashboard';
import ProfilePage from '../Profile';
import AdminPage from '../Admin';
import * as ROUTES from '../../constants/routes';
import { withAuthentication } from '../Session';
import { makeStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import AccountsPage from '../Accounts';
import AccountOverview from '../AccountOverview';
const useStyles = makeStyles(theme => ({
root: {
flexGrow: 1,
},
menuButton: {
marginRight: theme.spacing(2),
},
title: {
flexGrow: 1,
},
}));
const App = () => {
const classes = useStyles();
return (
<Router>
<div className={classes.root}>
<AppBar position="static">
<Toolbar>
<Navigation />
<Typography variant="h6" className={classes.title}>
JellyFin
</Typography>
</Toolbar>
</AppBar>
<Route exact path={ROUTES.LANDING} component={LandingPage} />
<Route path={ROUTES.SIGN_UP} component={SignUpPage} />
<Route path={ROUTES.SIGN_IN} component={SignInPage} />
<Route
path={ROUTES.PASSWORD_FORGET}
component={PasswordForgetPage}
/>
<Route path={ROUTES.DASHBOARD} component={DashboardPage} />
<Route path={ROUTES.PROFILE} component={ProfilePage} />
<Route path={ROUTES.ADMIN} component={AdminPage} />
<Route path={ROUTES.ACCOUNTS} component={AccountsPage} />
<Route
path={ROUTES.ACCOUNT_DETAILS}
component={AccountOverview}
/>
</div>
</Router>
);
};
export default withAuthentication(App);