import React from 'react';
import clsx from 'clsx';
import { createStyles, Theme, withStyles, WithStyles } from '@material-ui/core/styles';
import Divider from '@material-ui/core/Divider';
import Drawer, { DrawerProps } from '@material-ui/core/Drawer';
import List from '@material-ui/core/List';
import ListItem from '@material-ui/core/ListItem';
import ListItemIcon from '@material-ui/core/ListItemIcon';
import ListItemText from '@material-ui/core/ListItemText';
import HomeIcon from '@material-ui/icons/Home';
import PeopleIcon from '@material-ui/icons/People';
import DnsRoundedIcon from '@material-ui/icons/DnsRounded';
import PermMediaOutlinedIcon from '@material-ui/icons/PhotoSizeSelectActual';
import PublicIcon from '@material-ui/icons/Public';
import SettingsEthernetIcon from '@material-ui/icons/SettingsEthernet';
import SettingsInputComponentIcon from '@material-ui/icons/SettingsInputComponent';
import TimerIcon from '@material-ui/icons/Timer';
import SettingsIcon from '@material-ui/icons/Settings';
import PhonelinkSetupIcon from '@material-ui/icons/PhonelinkSetup';
import { Omit } from '@material-ui/types';
const categories = [
{
id: 'Develop',
children: [
{ id: 'Authentication', icon: , active: true },
{ id: 'Database', icon: },
{ id: 'Storage', icon: },
{ id: 'Hosting', icon: },
{ id: 'Functions', icon: },
{ id: 'ML Kit', icon: },
],
},
{
id: 'Quality',
children: [
{ id: 'Analytics', icon: },
{ id: 'Performance', icon: },
{ id: 'Test Lab', icon: },
],
},
];
const styles = (theme: Theme) =>
createStyles({
categoryHeader: {
paddingTop: theme.spacing(2),
paddingBottom: theme.spacing(2),
},
categoryHeaderPrimary: {
color: theme.palette.common.white,
},
item: {
paddingTop: 1,
paddingBottom: 1,
color: 'rgba(255, 255, 255, 0.7)',
'&:hover,&:focus': {
backgroundColor: 'rgba(255, 255, 255, 0.08)',
},
},
itemCategory: {
backgroundColor: '#232f3e',
boxShadow: '0 -1px 0 #404854 inset',
paddingTop: theme.spacing(2),
paddingBottom: theme.spacing(2),
},
firebase: {
fontSize: 24,
color: theme.palette.common.white,
},
itemActiveItem: {
color: '#4fc3f7',
},
itemPrimary: {
fontSize: 'inherit',
},
itemIcon: {
minWidth: 'auto',
marginRight: theme.spacing(2),
},
divider: {
marginTop: theme.spacing(2),
},
});
export interface NavigatorProps extends Omit, WithStyles {}
function Navigator(props: NavigatorProps) {
const { classes, ...other } = props;
return (
Paperbase
Project Overview
{categories.map(({ id, children }) => (
{id}
{children.map(({ id: childId, icon, active }) => (
{icon}
{childId}
))}
))}
);
}
export default withStyles(styles)(Navigator);