stremio-web/src/routes/Board/useBoard.js
2022-07-06 17:16:33 +03:00

29 lines
824 B
JavaScript

// Copyright (C) 2017-2022 Smart code 203358507
const React = require('react');
const { useServices } = require('stremio/services');
const { useModelState } = require('stremio/common');
const useBoard = () => {
const { core } = useServices();
const action = React.useMemo(() => ({
action: 'Load',
args: {
model: 'CatalogsWithExtra',
args: { extra: [] }
}
}), []);
const loadRange = React.useCallback((range) => {
core.transport.dispatch({
action: 'CatalogsWithExtra',
args: {
action: 'LoadRange',
args: range
}
}, 'board');
}, []);
const board = useModelState({ model: 'board', timeout: 1500, action });
return [board, loadRange];
};
module.exports = useBoard;