import React, { Component } from "react"; import { Route, Switch, Redirect } from "react-router-dom"; import NotificationSystem from "react-notification-system"; import { withAuthenticator } from "aws-amplify-react"; // import Amplify from '@aws-amplify/core'; import Auth from "@aws-amplify/auth"; import routes from "routes.js"; import AdminNavbar from "components/Navbars/AdminNavbar"; import Footer from "components/Footer/Footer"; // import Sidebar from "components/Sidebar/Sidebar"; import { style } from "variables/Variables.jsx"; class Admin extends Component { constructor(props) { super(props); this.state = { notificationSystem: null, color: "black", fixedClasses: "dropdown show-dropdown open" }; } // Handles Notification handleNotification = (message, level, iconClassName, autoDismissSecond) => { this.state.notificationSystem.addNotification({ title: (), message: (
{message}
), level: level, position: 'tr', autoDismiss: autoDismissSecond, }); }; // Gets API token getToken = async () => { let user = await Auth.currentAuthenticatedUser(); let token = user.signInUserSession.idToken.jwtToken; return token; }; // Checks scroll isScrollBottom = () => { let scrollTop = document.scrollingElement.scrollTop; let offsetHeight = document.documentElement.offsetHeight; let innerHeight = window.innerHeight; return innerHeight + scrollTop === offsetHeight; }; // Goes to the top of the page goTop = () => { document.scrollingElement.scrollTop = 0; }; handleDateSize = (date) => { return date.substring(0, 10); }; getRoutes = routes => { return routes.map((prop, key) => { if (prop.layout === "/admin") { return ( ( )} exact key={key} /> ); } else { return null; } }); }; componentDidMount() { this.setState({ notificationSystem: this.refs.notificationSystem }); } componentDidUpdate(e) { if ( window.innerWidth < 993 && e.history.location.pathname !== e.location.pathname && document.documentElement.className.indexOf("nav-open") !== -1 ) { document.documentElement.classList.toggle("nav-open"); } if (e.history.action === "PUSH") { document.documentElement.scrollTop = 0; document.scrollingElement.scrollTop = 0; this.refs.mainPanel.scrollTop = 0; } } render() { return (
{this.getRoutes(routes)}
); } } export default withAuthenticator(Admin);