From db256632d9ca7316700cb633a6058d6db59ba816 Mon Sep 17 00:00:00 2001 From: Niharika Khanna Date: Thu, 1 Jun 2017 18:23:47 +0100 Subject: [PATCH] share panels reposition and remain open --- server/src/pages/shotindex/view.js | 12 ++++++++++-- server/src/share-buttons.js | 19 +++++++++++++++++-- static/css/shot-index.scss | 3 ++- 3 files changed, 29 insertions(+), 5 deletions(-) diff --git a/server/src/pages/shotindex/view.js b/server/src/pages/shotindex/view.js index 42873480f2..281420ba03 100644 --- a/server/src/pages/shotindex/view.js +++ b/server/src/pages/shotindex/view.js @@ -160,6 +160,10 @@ class Body extends React.Component { } class Card extends React.Component { + constructor(props) { + super(props) + this.state = {panelOpen: "panel-closed"}; + } render() { let shot = this.props.shot; @@ -182,7 +186,7 @@ class Card extends React.Component { } return ( -
+
- +
@@ -222,6 +226,10 @@ class Card extends React.Component { return "square"; } + setPanelState(state) { + this.setState({panelOpen: state}); + } + onOpen(url, event) { if (event.ctrlKey || event.metaKey || event.button === 1) { // Don't override what might be an open-in-another-tab click diff --git a/server/src/share-buttons.js b/server/src/share-buttons.js index e3eed6e84e..616fa10921 100644 --- a/server/src/share-buttons.js +++ b/server/src/share-buttons.js @@ -31,6 +31,7 @@ exports.ShareButton = class ShareButton extends React.Component { let show = !this.state.display; this.setState({display: show}); if (show) { + this.props.setPanelState("panel-open"); sendEvent( this.props.isOwner ? "start-share-owner" : "start-share-non-owner", "navbar"); @@ -41,8 +42,8 @@ exports.ShareButton = class ShareButton extends React.Component { onPanelClose() { this.setState({display: false}); + this.props.setPanelState("panel-closed"); } - }; class ShareButtonPanel extends React.Component { @@ -81,7 +82,7 @@ class ShareButtonPanel extends React.Component { if (this.props.renderExtensionNotification) { className += " share-panel-with-notification"; } - return