diff --git a/interface/src/AppRouting.js b/interface/src/AppRouting.js index 4d7c4fc..48f95ea 100644 --- a/interface/src/AppRouting.js +++ b/interface/src/AppRouting.js @@ -8,13 +8,13 @@ import AuthenticationWrapper from './authentication/AuthenticationWrapper'; import AuthenticatedRoute from './authentication/AuthenticatedRoute'; import UnauthenticatedRoute from './authentication/UnauthenticatedRoute'; -// containers -import WiFiConfiguration from './containers/WiFiConfiguration'; import NTPConfiguration from './containers/NTPConfiguration'; import OTAConfiguration from './containers/OTAConfiguration'; import APConfiguration from './containers/APConfiguration'; import SignInPage from './containers/SignInPage'; -import Security from './containers/Security'; + +import Security from './sections/Security'; +import WiFiConnection from './sections/WiFiConnection'; class AppRouting extends Component { @@ -27,7 +27,7 @@ class AppRouting extends Component { - + diff --git a/interface/src/authentication/Authentication.js b/interface/src/authentication/Authentication.js index 5dabb04..d379fb2 100644 --- a/interface/src/authentication/Authentication.js +++ b/interface/src/authentication/Authentication.js @@ -21,7 +21,7 @@ export function fetchLoginRedirect() { const loginSearch = localStorage.getItem(LOGIN_SEARCH); clearLoginRedirect(); return { - pathname: loginPathname || "/wifi-configuration", + pathname: loginPathname || "/wifi/", search: (loginPathname && loginSearch) || undefined }; } diff --git a/interface/src/components/MenuAppBar.js b/interface/src/components/MenuAppBar.js index f5d0b49..711289c 100644 --- a/interface/src/components/MenuAppBar.js +++ b/interface/src/components/MenuAppBar.js @@ -113,7 +113,7 @@ class MenuAppBar extends React.Component { - + diff --git a/interface/src/containers/WiFiConfiguration.js b/interface/src/containers/WiFiConfiguration.js deleted file mode 100644 index 6049bdf..0000000 --- a/interface/src/containers/WiFiConfiguration.js +++ /dev/null @@ -1,54 +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 WiFiNetworkScanner from './WiFiNetworkScanner'; -import WiFiSettings from './WiFiSettings'; -import WiFiStatus from './WiFiStatus'; - -class WiFiConfiguration extends Component { - - constructor(props) { - super(props); - this.state = { - selectedTab: "wifiStatus", - selectedNetwork: null - }; - this.selectNetwork = this.selectNetwork.bind(this); - this.deselectNetwork = this.deselectNetwork.bind(this); - } - - // TODO - slightly inapproperate use of callback ref possibly. - selectNetwork(network) { - this.setState({ selectedTab: "wifiSettings", selectedNetwork:network }); - } - - // deselects the network after the settings component mounts. - deselectNetwork(network) { - this.setState({ selectedNetwork:null }); - } - - handleTabChange = (event, selectedTab) => { - this.setState({ selectedTab }); - }; - - render() { - const { selectedTab } = this.state; - return ( - - - - - - - {selectedTab === "wifiStatus" && } - {selectedTab === "networkScanner" && } - {selectedTab === "wifiSettings" && } - - ) - } -} - -export default WiFiConfiguration; diff --git a/interface/src/containers/Security.js b/interface/src/sections/Security.js similarity index 90% rename from interface/src/containers/Security.js rename to interface/src/sections/Security.js index f6222cf..c2f619c 100644 --- a/interface/src/containers/Security.js +++ b/interface/src/sections/Security.js @@ -6,8 +6,8 @@ import Tab from '@material-ui/core/Tab'; import AuthenticatedRoute from '../authentication/AuthenticatedRoute'; import MenuAppBar from '../components/MenuAppBar'; -import ManageUsers from './ManageUsers'; -import SecuritySettings from './SecuritySettings'; +import ManageUsers from '../containers/ManageUsers'; +import SecuritySettings from '../containers/SecuritySettings'; class Security extends Component { diff --git a/interface/src/sections/WiFiConnection.js b/interface/src/sections/WiFiConnection.js new file mode 100644 index 0000000..a40a788 --- /dev/null +++ b/interface/src/sections/WiFiConnection.js @@ -0,0 +1,72 @@ +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 WiFiNetworkScanner from '../containers/WiFiNetworkScanner'; +import WiFiSettings from '../containers/WiFiSettings'; +import WiFiStatus from '../containers/WiFiStatus'; + +class WiFiConnection extends Component { + + constructor(props) { + super(props); + this.state = { + selectedNetwork: null + }; + this.selectNetwork = this.selectNetwork.bind(this); + this.deselectNetwork = this.deselectNetwork.bind(this); + } + + selectNetwork(network) { + this.setState({ selectedNetwork: network }); + this.props.history.push('/wifi/settings'); + } + + deselectNetwork(network) { + this.setState({ selectedNetwork: null }); + } + + handleTabChange = (event, path) => { + this.props.history.push(path); + }; + + render() { + const ConfiguredWiFiNetworkScanner = (props) => { + return ( + + ); + }; + const ConfiguredWiFiSettings = (props) => { + return ( + + ); + }; + return ( + + + + + + + + + + + + + + ) + } +} + +export default WiFiConnection;