diff --git a/src/common/index.js b/src/common/index.js index bec73015a..c8923bbe0 100644 --- a/src/common/index.js +++ b/src/common/index.js @@ -28,6 +28,7 @@ const useInLibrary = require('./useInLibrary'); const useLiveRef = require('./useLiveRef'); const useModelState = require('./useModelState'); const useProfile = require('./useProfile'); +const useStreamingServer = require('./useStreamingServer'); module.exports = { AddonDetailsModal, @@ -60,5 +61,6 @@ module.exports = { useInLibrary, useLiveRef, useModelState, - useProfile + useProfile, + useStreamingServer }; diff --git a/src/common/useStreamingServer.js b/src/common/useStreamingServer.js new file mode 100644 index 000000000..7d3bd470f --- /dev/null +++ b/src/common/useStreamingServer.js @@ -0,0 +1,23 @@ +const React = require('react'); +const { useServices } = require('stremio/services'); +const useModelState = require('stremio/common/useModelState'); + +const mapStreamingServerState = (ctx) => { + return ctx.streaming_server; +}; + +const useStreamingServer = () => { + const { core } = useServices(); + const initStreamingServer = React.useCallback(() => { + const ctx = core.getState('ctx'); + return mapStreamingServerState(ctx); + }, []); + const streamingServer = useModelState({ + model: 'ctx', + init: initStreamingServer, + map: mapStreamingServerState + }); + return streamingServer; +}; + +module.exports = useStreamingServer;