diff options
author | Noah Loomans <noahloomans@gmail.com> | 2018-02-23 15:47:40 +0100 |
---|---|---|
committer | Noah Loomans <noahloomans@gmail.com> | 2018-02-23 15:47:45 +0100 |
commit | b94ec8a69f4141580a4b263a75d300ca1da9342e (patch) | |
tree | 0ac1fe2ad214bd8adbfd93edf7c626c66b06e59f | |
parent | 9b11900a5fbc7b4c9ed8cd46e0bc1c52df12d186 (diff) |
Add room finder skeleton
-rw-r--r-- | src/client/react/components/container/RoomFinder.js | 48 | ||||
-rw-r--r-- | src/client/react/components/page/User.js | 2 | ||||
-rw-r--r-- | src/client/react/reducers.js | 1 |
3 files changed, 51 insertions, 0 deletions
diff --git a/src/client/react/components/container/RoomFinder.js b/src/client/react/components/container/RoomFinder.js new file mode 100644 index 0000000..3b28990 --- /dev/null +++ b/src/client/react/components/container/RoomFinder.js @@ -0,0 +1,48 @@ +/** + * Copyright (C) 2018 Noah Loomans + * + * This file is part of rooster.hetmml.nl. + * + * rooster.hetmml.nl is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * rooster.hetmml.nl is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with rooster.hetmml.nl. If not, see <http://www.gnu.org/licenses/>. + * + */ + +import React from 'react'; +import PropTypes from 'prop-types'; +import { connect } from 'react-redux'; + +class HelpBox extends React.Component { + static propTypes = { + // redux + isVisible: PropTypes.bool.isRequired, + } + + render() { + if (!this.props.isVisible) { + return <div />; + } + + return ( + <div className="room-finder"> + This is the room finder! + </div> + ); + } +} + +const mapStateToProps = state => ({ + isVisible: state.isRoomFinderVisible, +}); + +export default connect(mapStateToProps)(HelpBox); diff --git a/src/client/react/components/page/User.js b/src/client/react/components/page/User.js index e956c85..00fde7e 100644 --- a/src/client/react/components/page/User.js +++ b/src/client/react/components/page/User.js @@ -26,6 +26,7 @@ import Search from '../container/Search'; import View from '../container/View'; import { userFromMatch } from '../../lib/url'; import WeekSelector from '../container/WeekSelector'; +import RoomFinder from '../container/RoomFinder'; class UserPage extends React.Component { static propTypes = { @@ -51,6 +52,7 @@ class UserPage extends React.Component { <Elevation z={2}> <div className="menu"> <div className="menu-container"> + <RoomFinder /> <WeekSelector /> </div> </div> diff --git a/src/client/react/reducers.js b/src/client/react/reducers.js index cd84ee5..733e003 100644 --- a/src/client/react/reducers.js +++ b/src/client/react/reducers.js @@ -30,6 +30,7 @@ const DEFAULT_STATE = { text: '', selected: null, }, + isRoomFinderVisible: false, schedules: {}, }; |