From b7ffa34eecc4387c91f7c45ba42c8962ba1f1f5a Mon Sep 17 00:00:00 2001 From: Ray Schamp Date: Thu, 6 Dec 2018 15:05:20 -0500 Subject: [PATCH] Open and close admin panel from parent component --- src/components/adminpanel/adminpanel.jsx | 96 +++++++++--------------- src/views/preview/presentation.jsx | 12 ++- src/views/preview/project-view.jsx | 11 +++ src/views/splash/presentation.jsx | 10 ++- src/views/splash/splash.jsx | 12 +++ 5 files changed, 79 insertions(+), 62 deletions(-) diff --git a/src/components/adminpanel/adminpanel.jsx b/src/components/adminpanel/adminpanel.jsx index e22fa59a7..926a7a4f5 100644 --- a/src/components/adminpanel/adminpanel.jsx +++ b/src/components/adminpanel/adminpanel.jsx @@ -1,73 +1,49 @@ -const bindAll = require('lodash.bindall'); const classNames = require('classnames'); -const connect = require('react-redux').connect; const PropTypes = require('prop-types'); const React = require('react'); require('./adminpanel.scss'); -class AdminPanel extends React.Component { - constructor (props) { - super(props); - bindAll(this, [ - 'handleToggleVisibility' - ]); - this.state = { - showPanel: false - }; - } - handleToggleVisibility (e) { - e.preventDefault(); - this.setState({showPanel: !this.state.showPanel}); - } - render () { - if (!this.props.isAdmin) return false; - return ( -
( +
+ {isOpen ? ( + + + x + +
+

Admin Panel

+
+
+ {children} +
+
+ ) : ( + - {this.state.showPanel ? ( - - - x - -
-

Admin Panel

-
-
- {this.props.children} -
-
- ) : ( - - > - - )} -
- ); - } -} + > + + )} +
+); AdminPanel.propTypes = { children: PropTypes.node, className: PropTypes.string, - isAdmin: PropTypes.bool + isOpen: PropTypes.bool, + onClose: PropTypes.func, + onOpen: PropTypes.func }; -const mapStateToProps = state => ({ - isAdmin: state.permissions.admin -}); - -const ConnectedAdminPanel = connect(mapStateToProps)(AdminPanel); - -module.exports = ConnectedAdminPanel; +module.exports = AdminPanel; diff --git a/src/views/preview/presentation.jsx b/src/views/preview/presentation.jsx index 8bc248a14..f52aea2d4 100644 --- a/src/views/preview/presentation.jsx +++ b/src/views/preview/presentation.jsx @@ -47,6 +47,7 @@ const onKeyPress = e => { const PreviewPresentation = ({ addToStudioOpen, adminModalOpen, + adminPanelOpen, assetHost, backpackHost, canAddToStudio, @@ -77,11 +78,13 @@ const PreviewPresentation = ({ onAddComment, onAddToStudioClicked, onAddToStudioClosed, + onCloseAdminPanel, onCopyProjectLink, onDeleteComment, onFavoriteClicked, onLoadMore, onLoveClicked, + onOpenAdminPanel, onRemix, onReportClicked, onReportClose, @@ -164,8 +167,12 @@ const PreviewPresentation = ({