+
+
{children}
- ,
+ ,
modalsContainer
);
};
+Modal.propTypes = {
+ modalsContainer: PropTypes.instanceOf(HTMLElement).isRequired
+};
+
const ModalWithModalsContainer = withModalsContainer(Modal);
ModalWithModalsContainer.displayName = 'ModalWithModalsContainer';
diff --git a/src/common/Router/Route/Route.js b/src/common/Router/Route/Route.js
index 8b5c233a5..cb502d424 100644
--- a/src/common/Router/Route/Route.js
+++ b/src/common/Router/Route/Route.js
@@ -1,6 +1,6 @@
import React, { Component } from 'react';
+import { FocusableProvider } from 'stremio-common';
import ModalsContainerProvider from './ModalsContainerProvider';
-import RouteFocusableProvider from './RouteFocusableProvider';
import styles from './styles';
class Route extends Component {
@@ -8,15 +8,19 @@ class Route extends Component {
return nextProps.children !== this.props.children;
}
+ onModalsContainerDomTreeChange = ({ modalsContainerElement }) => {
+ return modalsContainerElement.childElementCount === 0;
+ };
+
render() {
return (
-
+
{this.props.children}
-
+
);
diff --git a/src/common/index.js b/src/common/index.js
index da43fea34..19f511a77 100644
--- a/src/common/index.js
+++ b/src/common/index.js
@@ -1,5 +1,5 @@
import Slider from './Slider';
-import { FocusableContext, withFocusable } from './Focusable';
+import { FocusableProvider, withFocusable } from './Focusable';
import Button from './Button';
import Checkbox from './Checkbox';
import TextInput from './TextInput';
@@ -28,7 +28,7 @@ export {
ShareAddon,
UserPanel,
Slider,
- FocusableContext,
+ FocusableProvider,
withFocusable,
Button
};