From b758ab3888f507a76821014f6f1ef3349bcc1883 Mon Sep 17 00:00:00 2001 From: nklhrstv Date: Mon, 11 Jul 2022 12:54:10 +0300 Subject: [PATCH] Discover wrapped with core suspender --- src/routes/Discover/Discover.js | 67 +++++++++++++++------------------ 1 file changed, 31 insertions(+), 36 deletions(-) diff --git a/src/routes/Discover/Discover.js b/src/routes/Discover/Discover.js index d2e2ce462..688eb072a 100644 --- a/src/routes/Discover/Discover.js +++ b/src/routes/Discover/Discover.js @@ -5,7 +5,7 @@ const PropTypes = require('prop-types'); const classnames = require('classnames'); const Icon = require('@stremio/stremio-icons/dom'); const { useServices } = require('stremio/services'); -const { AddonDetailsModal, Button, MainNavBars, MetaItem, Image, MetaPreview, Multiselect, ModalDialog, CONSTANTS, useBinaryState, useOnScrollToBottom } = require('stremio/common'); +const { AddonDetailsModal, DelayedRenderer, Button, MainNavBars, MetaItem, Image, MetaPreview, Multiselect, ModalDialog, CONSTANTS, useBinaryState, useOnScrollToBottom, withCoreSuspender } = require('stremio/common'); const useDiscover = require('./useDiscover'); const useSelectableInputs = require('./useSelectableInputs'); const styles = require('./styles'); @@ -75,37 +75,26 @@ const Discover = ({ urlParams, queryParams }) => { closeAddonModal(); setSelectedMetaItemIndex(0); }, [discover.selected]); - const metaItemsContainerRef = React.useRef(); - React.useEffect(() => { - if (discover.catalog?.content.type === 'Loading') { - metaItemsContainerRef.current.scrollTop = 0; - } - }, [discover.catalog]); return (
- { - discover.defaultRequest ? -
- {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => ( - - ))} - -
- : - null - } +
+ {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => ( + + ))} + +
{ discover.catalog !== null && !discover.catalog.installed ?
@@ -119,10 +108,12 @@ const Discover = ({ urlParams, queryParams }) => { } { discover.catalog === null ? -
- {' -
No catalog selected!
-
+ +
+ {' +
No catalog selected!
+
+
: discover.catalog.content.type === 'Err' ?
@@ -131,7 +122,7 @@ const Discover = ({ urlParams, queryParams }) => {
: discover.catalog.content.type === 'Loading' ? -
+
{Array(CONSTANTS.CATALOG_PAGE_SIZE).fill(null).map((_, index) => (
@@ -142,7 +133,7 @@ const Discover = ({ urlParams, queryParams }) => { ))}
: -
+
{discover.catalog.content.content.map((metaItem, index) => ( { }
{ - inputsModalOpen && discover.defaultRequest ? + inputsModalOpen ? {selectInputs.map(({ title, options, selected, renderLabelText, onSelect }, index) => ( ( + +); + +module.exports = withCoreSuspender(Discover, DiscoverFallback);