Rework routing
This commit is contained in:
		@@ -2,19 +2,18 @@ import React, { Component } from 'react';
 | 
			
		||||
 | 
			
		||||
import { Redirect, Switch } from 'react-router';
 | 
			
		||||
 | 
			
		||||
// authentication
 | 
			
		||||
import * as Authentication from './authentication/Authentication';
 | 
			
		||||
import AuthenticationWrapper from './authentication/AuthenticationWrapper';
 | 
			
		||||
import AuthenticatedRoute from './authentication/AuthenticatedRoute';
 | 
			
		||||
import UnauthenticatedRoute from './authentication/UnauthenticatedRoute';
 | 
			
		||||
 | 
			
		||||
import NTPConfiguration from './containers/NTPConfiguration';
 | 
			
		||||
import OTAConfiguration from './containers/OTAConfiguration';
 | 
			
		||||
import APConfiguration from './containers/APConfiguration';
 | 
			
		||||
import SignInPage from './containers/SignInPage';
 | 
			
		||||
 | 
			
		||||
import Security from './sections/Security';
 | 
			
		||||
import WiFiConnection from './sections/WiFiConnection';
 | 
			
		||||
import AccessPoint from './sections/AccessPoint';
 | 
			
		||||
import NetworkTime from './sections/NetworkTime';
 | 
			
		||||
import Security from './sections/Security';
 | 
			
		||||
 | 
			
		||||
class AppRouting extends Component {
 | 
			
		||||
 | 
			
		||||
@@ -28,8 +27,8 @@ class AppRouting extends Component {
 | 
			
		||||
        <Switch>
 | 
			
		||||
          <UnauthenticatedRoute exact path="/" component={SignInPage} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/wifi/*" component={WiFiConnection} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ap-configuration" component={APConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ntp-configuration" component={NTPConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ap/*" component={AccessPoint} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ntp/*" component={NetworkTime} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/ota-configuration" component={OTAConfiguration} />
 | 
			
		||||
          <AuthenticatedRoute exact path="/security/*" component={Security} />
 | 
			
		||||
          <Redirect to="/" />
 | 
			
		||||
 
 | 
			
		||||
@@ -119,13 +119,13 @@ class MenuAppBar extends React.Component {
 | 
			
		||||
            </ListItemIcon>
 | 
			
		||||
            <ListItemText primary="WiFi Connection" />
 | 
			
		||||
          </ListItem>
 | 
			
		||||
          <ListItem button component={Link} to='/ap-configuration'>
 | 
			
		||||
          <ListItem button component={Link} to='/ap/'>
 | 
			
		||||
            <ListItemIcon>
 | 
			
		||||
              <SettingsInputAntennaIcon />
 | 
			
		||||
            </ListItemIcon>
 | 
			
		||||
            <ListItemText primary="Access Point" />
 | 
			
		||||
          </ListItem>
 | 
			
		||||
          <ListItem button component={Link} to='/ntp-configuration'>
 | 
			
		||||
          <ListItem button component={Link} to='/ntp/'>
 | 
			
		||||
            <ListItemIcon>
 | 
			
		||||
              <AccessTimeIcon />
 | 
			
		||||
            </ListItemIcon>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,39 +0,0 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import APSettings from './APSettings';
 | 
			
		||||
import APStatus from './APStatus';
 | 
			
		||||
 | 
			
		||||
class APConfiguration extends Component {
 | 
			
		||||
 | 
			
		||||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
    this.state = {
 | 
			
		||||
        selectedTab: "apStatus",
 | 
			
		||||
        selectedNetwork: null
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, selectedTab) => {
 | 
			
		||||
    this.setState({ selectedTab });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const { selectedTab } = this.state;
 | 
			
		||||
    return (
 | 
			
		||||
      <MenuAppBar sectionTitle="AP Configuration">
 | 
			
		||||
        <Tabs value={selectedTab} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
           <Tab value="apStatus" label="AP Status" />
 | 
			
		||||
           <Tab value="apSettings" label="AP Settings" />
 | 
			
		||||
         </Tabs>
 | 
			
		||||
         {selectedTab === "apStatus" && <APStatus />}
 | 
			
		||||
         {selectedTab === "apSettings" && <APSettings />}
 | 
			
		||||
      </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default APConfiguration;
 | 
			
		||||
@@ -1,37 +0,0 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import NTPSettings from './NTPSettings';
 | 
			
		||||
import NTPStatus from './NTPStatus';
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
class NTPConfiguration extends Component {
 | 
			
		||||
 | 
			
		||||
  constructor(props) {
 | 
			
		||||
    super(props);
 | 
			
		||||
    this.state = {
 | 
			
		||||
        selectedTab: "ntpStatus"
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, selectedTab) => {
 | 
			
		||||
    this.setState({ selectedTab });
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    const { selectedTab } = this.state;
 | 
			
		||||
    return (
 | 
			
		||||
        <MenuAppBar sectionTitle="NTP Configuration">
 | 
			
		||||
        <Tabs value={selectedTab} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
           <Tab value="ntpStatus" label="NTP Status" />
 | 
			
		||||
           <Tab value="ntpSettings" label="NTP Settings" />
 | 
			
		||||
         </Tabs>
 | 
			
		||||
         {selectedTab === "ntpStatus" && <NTPStatus />}
 | 
			
		||||
         {selectedTab === "ntpSettings" && <NTPSettings />}
 | 
			
		||||
        </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default NTPConfiguration
 | 
			
		||||
@@ -43,12 +43,12 @@ class UserForm extends React.Component {
 | 
			
		||||
    const { classes, user, creating, handleValueChange, handleCheckboxChange, onDoneEditing, onCancelEditing } = this.props;
 | 
			
		||||
    return (
 | 
			
		||||
      <ValidatorForm onSubmit={onDoneEditing} ref={this.formRef}>
 | 
			
		||||
        <Dialog onClose={onCancelEditing} aria-labelledby="user-form-dialog-title" open={true} scroll="paper">
 | 
			
		||||
        <Dialog onClose={onCancelEditing} aria-labelledby="user-form-dialog-title" open={true}>
 | 
			
		||||
          <DialogTitle id="user-form-dialog-title">{creating ? 'Add' : 'Modify'} User</DialogTitle>
 | 
			
		||||
          <DialogContent dividers={true}>
 | 
			
		||||
            <TextValidator
 | 
			
		||||
              validators={creating ? ['required', 'uniqueUsername', 'matchRegexp:^[a-zA-Z0-9_\\.]{1,24}$'] : []}
 | 
			
		||||
              errorMessages={creating ? ['Username is required', "That username already exists", "Must be 1-24 characters: alpha numberic, '_' or '.'"] : []}
 | 
			
		||||
              errorMessages={creating ? ['Username is required', "Username already exists", "Must be 1-24 characters: alpha numberic, '_' or '.'"] : []}
 | 
			
		||||
              name="username"
 | 
			
		||||
              label="Username"
 | 
			
		||||
              className={classes.textField}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										35
									
								
								interface/src/sections/AccessPoint.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								interface/src/sections/AccessPoint.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
import { Redirect, Switch } from 'react-router-dom'
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import AuthenticatedRoute from '../authentication/AuthenticatedRoute';
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import APSettings from '../containers/APSettings';
 | 
			
		||||
import APStatus from '../containers/APStatus';
 | 
			
		||||
 | 
			
		||||
class AccessPoint extends Component {
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, path) => {
 | 
			
		||||
    this.props.history.push(path);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    return (
 | 
			
		||||
      <MenuAppBar sectionTitle="AP Configuration">
 | 
			
		||||
        <Tabs value={this.props.match.url} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
          <Tab value="/ap/status" label="AP Status" />
 | 
			
		||||
          <Tab value="/ap/settings" label="AP Settings" />
 | 
			
		||||
        </Tabs>
 | 
			
		||||
        <Switch>
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/ap/status" component={APStatus} />
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/ap/settings" component={APSettings} />
 | 
			
		||||
          <Redirect to="/ap/status" />
 | 
			
		||||
        </Switch>        
 | 
			
		||||
      </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default AccessPoint;
 | 
			
		||||
							
								
								
									
										35
									
								
								interface/src/sections/NetworkTime.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										35
									
								
								interface/src/sections/NetworkTime.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,35 @@
 | 
			
		||||
import React, { Component } from 'react';
 | 
			
		||||
import { Redirect, Switch } from 'react-router-dom'
 | 
			
		||||
 | 
			
		||||
import Tabs from '@material-ui/core/Tabs';
 | 
			
		||||
import Tab from '@material-ui/core/Tab';
 | 
			
		||||
 | 
			
		||||
import AuthenticatedRoute from '../authentication/AuthenticatedRoute';
 | 
			
		||||
import MenuAppBar from '../components/MenuAppBar';
 | 
			
		||||
import NTPSettings from '../containers/NTPSettings';
 | 
			
		||||
import NTPStatus from '../containers/NTPStatus';
 | 
			
		||||
 | 
			
		||||
class NetworkTime extends Component {
 | 
			
		||||
 | 
			
		||||
  handleTabChange = (event, path) => {
 | 
			
		||||
    this.props.history.push(path);
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  render() {
 | 
			
		||||
    return (
 | 
			
		||||
      <MenuAppBar sectionTitle="Network Time">
 | 
			
		||||
        <Tabs value={this.props.match.url} onChange={this.handleTabChange} indicatorColor="primary" textColor="primary" variant="fullWidth">
 | 
			
		||||
          <Tab value="/ntp/status" label="NTP Status" />
 | 
			
		||||
          <Tab value="/ntp/settings" label="NTP Settings" />
 | 
			
		||||
        </Tabs>
 | 
			
		||||
        <Switch>
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/ntp/status" component={NTPStatus} />
 | 
			
		||||
          <AuthenticatedRoute exact={true} path="/ntp/settings" component={NTPSettings} />
 | 
			
		||||
          <Redirect to="/ntp/status" />
 | 
			
		||||
        </Switch>
 | 
			
		||||
      </MenuAppBar>
 | 
			
		||||
    )
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
export default NetworkTime
 | 
			
		||||
		Reference in New Issue
	
	Block a user