about summary refs log tree commit diff
path: root/app/javascript/flavours/glitch/features/ui/components/modal_root.js
diff options
context:
space:
mode:
authorThibaut Girka <thib@sitedethib.com>2018-07-31 23:03:16 +0200
committerThibaut Girka <thib@sitedethib.com>2018-08-01 00:18:42 +0200
commitd2b3eebe00ea60df56704045a8459acb03867555 (patch)
treea6c77af91da640b0b01134caa4f30cc0547a19c9 /app/javascript/flavours/glitch/features/ui/components/modal_root.js
parent5cd7fe21bf464feeebcf506d48d73c838c322182 (diff)
[Glitch] Show media modal on public timeline
Port e0b1e17bd04d7f9b533ab462aee4544a5f5fb926 to glitch-soc
Diffstat (limited to 'app/javascript/flavours/glitch/features/ui/components/modal_root.js')
-rw-r--r--app/javascript/flavours/glitch/features/ui/components/modal_root.js11
1 files changed, 11 insertions, 0 deletions
diff --git a/app/javascript/flavours/glitch/features/ui/components/modal_root.js b/app/javascript/flavours/glitch/features/ui/components/modal_root.js
index 7e9980ef7..86e1f8695 100644
--- a/app/javascript/flavours/glitch/features/ui/components/modal_root.js
+++ b/app/javascript/flavours/glitch/features/ui/components/modal_root.js
@@ -44,6 +44,17 @@ export default class ModalRoot extends React.PureComponent {
     onClose: PropTypes.func.isRequired,
   };
 
+  getSnapshotBeforeUpdate () {
+    const visible = !!this.props.type;
+    return {
+      overflowY: visible ? 'hidden' : null,
+    };
+  }
+
+  componentDidUpdate (prevProps, prevState, { overflowY }) {
+    document.body.style.overflowY = overflowY;
+  }
+
   renderLoading = modalId => () => {
     return ['MEDIA', 'VIDEO', 'BOOST', 'FAVOURITE', 'DOODLE', 'CONFIRM', 'ACTIONS'].indexOf(modalId) === -1 ? <ModalLoading /> : null;
   }