diff --git a/src/common/AddonDetailsModal/AddonDetailsModal.js b/src/common/AddonDetailsModal/AddonDetailsModal.js index b1db7390a..f69fc4f67 100644 --- a/src/common/AddonDetailsModal/AddonDetailsModal.js +++ b/src/common/AddonDetailsModal/AddonDetailsModal.js @@ -4,10 +4,41 @@ const React = require('react'); const PropTypes = require('prop-types'); const ModalDialog = require('stremio/common/ModalDialog'); const { useServices } = require('stremio/services'); -const AddonDetails = require('./AddonDetails'); +const AddonDetailsWithRemoteAndLocalAddon = withRemoteAndLocalAddon(require('./AddonDetails')); const useAddonDetails = require('./useAddonDetails'); const styles = require('./styles'); +function withRemoteAndLocalAddon(AddonDetails) { + const withRemoteAndLocalAddon = ({ remoteAddon, localAddon, ...props }) => { + const addon = remoteAddon !== null && remoteAddon.content.type === 'Ready' ? + remoteAddon.content.content + : + localAddon !== null ? + localAddon + : + null; + if (addon === null) { + return null; + } + + return ( + + ); + }; + withRemoteAndLocalAddon.displayName = 'withRemoteAndLocalAddon'; + return withRemoteAndLocalAddon; +} + const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => { const { core } = useServices(); const addonDetails = useAddonDetails(transportUrl); @@ -97,22 +128,16 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => { Loading addon manifest from {addonDetails.selected.transportUrl} : - addonDetails.remoteAddon.content.type === 'Err' ? + addonDetails.remoteAddon.content.type === 'Err' && addonDetails.localAddon === null ?
Failed to get addon manifest from {addonDetails.selected.transportUrl}
{addonDetails.remoteAddon.content.content.message}
: - }