From b94ec8a69f4141580a4b263a75d300ca1da9342e Mon Sep 17 00:00:00 2001 From: Noah Loomans Date: Fri, 23 Feb 2018 15:47:40 +0100 Subject: Add room finder skeleton --- .../react/components/container/RoomFinder.js | 48 ++++++++++++++++++++++ src/client/react/components/page/User.js | 2 + src/client/react/reducers.js | 1 + 3 files changed, 51 insertions(+) create mode 100644 src/client/react/components/container/RoomFinder.js (limited to 'src/client') 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 . + * + */ + +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
; + } + + return ( +
+ This is the room finder! +
+ ); + } +} + +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 {
+
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: {}, }; -- cgit v1.1