aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNoah Loomans <noahloomans@gmail.com>2018-02-23 15:47:40 +0100
committerNoah Loomans <noahloomans@gmail.com>2018-02-23 15:47:45 +0100
commitb94ec8a69f4141580a4b263a75d300ca1da9342e (patch)
tree0ac1fe2ad214bd8adbfd93edf7c626c66b06e59f
parent9b11900a5fbc7b4c9ed8cd46e0bc1c52df12d186 (diff)
Add room finder skeleton
-rw-r--r--src/client/react/components/container/RoomFinder.js48
-rw-r--r--src/client/react/components/page/User.js2
-rw-r--r--src/client/react/reducers.js1
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: {},
};