stremio-web/src/common/Router/Route/Route.js
2019-04-04 11:16:56 +03:00

30 lines
1,002 B
JavaScript

import React, { Component } from 'react';
import { FocusableProvider } from 'stremio-common';
import ModalsContainerProvider from './ModalsContainerProvider';
import styles from './styles';
class Route extends Component {
shouldComponentUpdate(nextProps, nextState) {
return nextProps.children !== this.props.children;
}
onModalsContainerDomTreeChange = ({ modalsContainerElement }) => {
return modalsContainerElement.childElementCount === 0;
};
render() {
return (
<div className={styles['route']}>
<ModalsContainerProvider>
<FocusableProvider onModalsContainerDomTreeChange={this.onModalsContainerDomTreeChange}>
<div className={styles['route-content']}>
{this.props.children}
</div>
</FocusableProvider>
</ModalsContainerProvider>
</div>
);
}
}
export default Route;