import React from "react";
import HomeIcon from '@material-ui/icons/Home';
import LocationCityIcon from '@material-ui/icons/LocationCity';


import TrackChangesIcon from '@material-ui/icons/TrackChanges';
import VideocamIcon from '@material-ui/icons/Videocam';
import PowerIcon from '@material-ui/icons/Power';
import PeopleIcon from '@material-ui/icons/People';
import {SvgIconProps} from "@material-ui/core";

export enum AppRoutes {
    Login, MySite, OtherSites, Sensors, MonitoredAreas, InverterConnection, UserRoles, NotFound, Error
}

export type SiteDescription = {
    siteIcon?: React.ReactElement<SvgIconProps>
    siteName: string
    siteUrl: string
}


export const appRoutes = new Map<AppRoutes, SiteDescription>();
appRoutes.set(AppRoutes.Login, {siteName: "Login", siteUrl: "/login"});
appRoutes.set(AppRoutes.MySite, {siteIcon: <HomeIcon/>, siteName: "My Site", siteUrl: "/mySite"});
appRoutes.set(AppRoutes.OtherSites, {siteIcon: <LocationCityIcon/>, siteName: "Other Sites", siteUrl: "/otherSites"});
appRoutes.set(AppRoutes.Sensors, {siteIcon: <TrackChangesIcon/>, siteName: "Sensors", siteUrl: "/sensors"});
appRoutes.set(AppRoutes.MonitoredAreas, {
    siteIcon: <VideocamIcon/>,
    siteName: "Monitored Areas",
    siteUrl: "/monitoredAreas"
});
appRoutes.set(AppRoutes.InverterConnection, {
    siteIcon: <PowerIcon/>,
    siteName: "Inverter Connection",
    siteUrl: "/inverterConnection"
});
appRoutes.set(AppRoutes.UserRoles, {siteIcon: <PeopleIcon/>, siteName: "User Roles", siteUrl: "/userRoles"});
appRoutes.set(AppRoutes.NotFound, {siteName: "Not Found", siteUrl: "/notFound"});
appRoutes.set(AppRoutes.Error, {siteName: "Error", siteUrl: "/notFound"});