mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-03-11 21:27:05 +00:00
rename CoreSuspender
This commit is contained in:
parent
27a41ae9ab
commit
b9a25a4f58
7 changed files with 20 additions and 20 deletions
|
|
@ -3,7 +3,7 @@
|
||||||
const React = require('react');
|
const React = require('react');
|
||||||
const PropTypes = require('prop-types');
|
const PropTypes = require('prop-types');
|
||||||
const ModalDialog = require('stremio/common/ModalDialog');
|
const ModalDialog = require('stremio/common/ModalDialog');
|
||||||
const { withModelSuspender } = require('stremio/common/useModelState');
|
const { withCoreSuspender } = require('stremio/common/useModelState');
|
||||||
const { useServices } = require('stremio/services');
|
const { useServices } = require('stremio/services');
|
||||||
const AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));
|
const AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails'));
|
||||||
const useAddonDetails = require('./useAddonDetails');
|
const useAddonDetails = require('./useAddonDetails');
|
||||||
|
|
@ -159,4 +159,4 @@ const AddonDetailsModalFallback = ({ onCloseRequest }) => (
|
||||||
|
|
||||||
AddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;
|
AddonDetailsModalFallback.propTypes = AddonDetailsModal.propTypes;
|
||||||
|
|
||||||
module.exports = withModelSuspender(AddonDetailsModal, AddonDetailsModalFallback);
|
module.exports = withCoreSuspender(AddonDetailsModal, AddonDetailsModalFallback);
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ const { useServices } = require('stremio/services');
|
||||||
const Button = require('stremio/common/Button');
|
const Button = require('stremio/common/Button');
|
||||||
const useFullscreen = require('stremio/common/useFullscreen');
|
const useFullscreen = require('stremio/common/useFullscreen');
|
||||||
const useProfile = require('stremio/common/useProfile');
|
const useProfile = require('stremio/common/useProfile');
|
||||||
const { withModelSuspender } = require('stremio/common/useModelState');
|
const { withCoreSuspender } = require('stremio/common/useModelState');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
||||||
const NavMenuContent = ({ onClick }) => {
|
const NavMenuContent = ({ onClick }) => {
|
||||||
|
|
@ -93,4 +93,4 @@ const NavMenuContentFallback = () => (
|
||||||
<div className={styles['nav-menu-container']} />
|
<div className={styles['nav-menu-container']} />
|
||||||
);
|
);
|
||||||
|
|
||||||
module.exports = withModelSuspender(NavMenuContent, NavMenuContentFallback);
|
module.exports = withCoreSuspender(NavMenuContent, NavMenuContentFallback);
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ const PropTypes = require('prop-types');
|
||||||
const classnames = require('classnames');
|
const classnames = require('classnames');
|
||||||
const Button = require('stremio/common/Button');
|
const Button = require('stremio/common/Button');
|
||||||
const useProfile = require('stremio/common/useProfile');
|
const useProfile = require('stremio/common/useProfile');
|
||||||
const { withModelSuspender } = require('stremio/common/useModelState');
|
const { withCoreSuspender } = require('stremio/common/useModelState');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
||||||
const StreamingServerWarning = ({ className }) => {
|
const StreamingServerWarning = ({ className }) => {
|
||||||
|
|
@ -63,4 +63,4 @@ StreamingServerWarning.propTypes = {
|
||||||
className: PropTypes.string
|
className: PropTypes.string
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = withModelSuspender(StreamingServerWarning);
|
module.exports = withCoreSuspender(StreamingServerWarning);
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ const useDeepEqualMemo = require('./useDeepEqualMemo');
|
||||||
const useDeepEqualState = require('./useDeepEqualState');
|
const useDeepEqualState = require('./useDeepEqualState');
|
||||||
const useFullscreen = require('./useFullscreen');
|
const useFullscreen = require('./useFullscreen');
|
||||||
const useLiveRef = require('./useLiveRef');
|
const useLiveRef = require('./useLiveRef');
|
||||||
const { withModelSuspender, useModelState } = require('./useModelState');
|
const { withCoreSuspender, useModelState } = require('./useModelState');
|
||||||
const useOnScrollToBottom = require('./useOnScrollToBottom');
|
const useOnScrollToBottom = require('./useOnScrollToBottom');
|
||||||
const useProfile = require('./useProfile');
|
const useProfile = require('./useProfile');
|
||||||
const useStreamingServer = require('./useStreamingServer');
|
const useStreamingServer = require('./useStreamingServer');
|
||||||
|
|
@ -80,7 +80,7 @@ module.exports = {
|
||||||
useDeepEqualState,
|
useDeepEqualState,
|
||||||
useFullscreen,
|
useFullscreen,
|
||||||
useLiveRef,
|
useLiveRef,
|
||||||
withModelSuspender,
|
withCoreSuspender,
|
||||||
useModelState,
|
useModelState,
|
||||||
useOnScrollToBottom,
|
useOnScrollToBottom,
|
||||||
useProfile,
|
useProfile,
|
||||||
|
|
|
||||||
|
|
@ -7,9 +7,9 @@ const intersection = require('lodash.intersection');
|
||||||
const { useRouteFocused } = require('stremio-router');
|
const { useRouteFocused } = require('stremio-router');
|
||||||
const { useServices } = require('stremio/services');
|
const { useServices } = require('stremio/services');
|
||||||
|
|
||||||
const ModelSuspenderContext = React.createContext();
|
const CoreSuspenderContext = React.createContext();
|
||||||
|
|
||||||
ModelSuspenderContext.displayName = 'ModelSuspenderContext';
|
CoreSuspenderContext.displayName = 'CoreSuspenderContext';
|
||||||
|
|
||||||
function wrapPromise(promise) {
|
function wrapPromise(promise) {
|
||||||
let status = 'pending';
|
let status = 'pending';
|
||||||
|
|
@ -37,8 +37,8 @@ function wrapPromise(promise) {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
const withModelSuspender = (Component, Fallback = () => { }) => {
|
const withCoreSuspender = (Component, Fallback = () => { }) => {
|
||||||
return function WithModelSuspender(props) {
|
return function withCoreSuspender(props) {
|
||||||
const { core } = useServices();
|
const { core } = useServices();
|
||||||
const initStateRef = React.useRef({});
|
const initStateRef = React.useRef({});
|
||||||
const getInitState = React.useCallback((model) => {
|
const getInitState = React.useCallback((model) => {
|
||||||
|
|
@ -50,9 +50,9 @@ const withModelSuspender = (Component, Fallback = () => { }) => {
|
||||||
}, []);
|
}, []);
|
||||||
return (
|
return (
|
||||||
<React.Suspense fallback={<Fallback {...props} />}>
|
<React.Suspense fallback={<Fallback {...props} />}>
|
||||||
<ModelSuspenderContext.Provider value={getInitState}>
|
<CoreSuspenderContext.Provider value={getInitState}>
|
||||||
<Component {...props} />
|
<Component {...props} />
|
||||||
</ModelSuspenderContext.Provider>
|
</CoreSuspenderContext.Provider>
|
||||||
</React.Suspense>
|
</React.Suspense>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
@ -65,7 +65,7 @@ const useModelState = ({ action, ...args }) => {
|
||||||
const [model, timeout, map, deps] = React.useMemo(() => {
|
const [model, timeout, map, deps] = React.useMemo(() => {
|
||||||
return [args.model, args.timeout, args.map, args.deps];
|
return [args.model, args.timeout, args.map, args.deps];
|
||||||
}, []);
|
}, []);
|
||||||
const getInitState = React.useContext(ModelSuspenderContext);
|
const getInitState = React.useContext(CoreSuspenderContext);
|
||||||
const [state, setState] = React.useReducer(
|
const [state, setState] = React.useReducer(
|
||||||
(prevState, nextState) => {
|
(prevState, nextState) => {
|
||||||
return Object.keys(prevState).reduce((result, key) => {
|
return Object.keys(prevState).reduce((result, key) => {
|
||||||
|
|
@ -124,6 +124,6 @@ const useModelState = ({ action, ...args }) => {
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
withModelSuspender,
|
withCoreSuspender,
|
||||||
useModelState
|
useModelState
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@ const PropTypes = require('prop-types');
|
||||||
const classnames = require('classnames');
|
const classnames = require('classnames');
|
||||||
const Icon = require('@stremio/stremio-icons/dom');
|
const Icon = require('@stremio/stremio-icons/dom');
|
||||||
const NotFound = require('stremio/routes/NotFound');
|
const NotFound = require('stremio/routes/NotFound');
|
||||||
const { Button, DelayedRenderer, Multiselect, MainNavBars, LibItem, Image, ModalDialog, PaginationInput, useProfile, routesRegexp, useBinaryState, withModelSuspender } = require('stremio/common');
|
const { Button, DelayedRenderer, Multiselect, MainNavBars, LibItem, Image, ModalDialog, PaginationInput, useProfile, routesRegexp, useBinaryState, withCoreSuspender } = require('stremio/common');
|
||||||
const useLibrary = require('./useLibrary');
|
const useLibrary = require('./useLibrary');
|
||||||
const useSelectableInputs = require('./useSelectableInputs');
|
const useSelectableInputs = require('./useSelectableInputs');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
@ -140,4 +140,4 @@ const LibraryFallback = ({ model }) => (
|
||||||
|
|
||||||
LibraryFallback.propTypes = Library.propTypes;
|
LibraryFallback.propTypes = Library.propTypes;
|
||||||
|
|
||||||
module.exports = withModel(withModelSuspender(Library, LibraryFallback));
|
module.exports = withModel(withCoreSuspender(Library, LibraryFallback));
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@ const throttle = require('lodash.throttle');
|
||||||
const Icon = require('@stremio/stremio-icons/dom');
|
const Icon = require('@stremio/stremio-icons/dom');
|
||||||
const { useRouteFocused } = require('stremio-router');
|
const { useRouteFocused } = require('stremio-router');
|
||||||
const { useServices } = require('stremio/services');
|
const { useServices } = require('stremio/services');
|
||||||
const { Button, Checkbox, MainNavBars, Multiselect, ColorInput, TextInput, ModalDialog, useProfile, useStreamingServer, useBinaryState, withModelSuspender } = require('stremio/common');
|
const { Button, Checkbox, MainNavBars, Multiselect, ColorInput, TextInput, ModalDialog, useProfile, useStreamingServer, useBinaryState, withCoreSuspender } = require('stremio/common');
|
||||||
const useProfileSettingsInputs = require('./useProfileSettingsInputs');
|
const useProfileSettingsInputs = require('./useProfileSettingsInputs');
|
||||||
const useStreamingServerSettingsInputs = require('./useStreamingServerSettingsInputs');
|
const useStreamingServerSettingsInputs = require('./useStreamingServerSettingsInputs');
|
||||||
const styles = require('./styles');
|
const styles = require('./styles');
|
||||||
|
|
@ -453,4 +453,4 @@ const SettingsFallback = () => (
|
||||||
<MainNavBars className={styles['settings-container']} route={'settings'} />
|
<MainNavBars className={styles['settings-container']} route={'settings'} />
|
||||||
);
|
);
|
||||||
|
|
||||||
module.exports = withModelSuspender(Settings, SettingsFallback);
|
module.exports = withCoreSuspender(Settings, SettingsFallback);
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue