diff --git a/src/common/AddonDetailsModal/AddonDetailsModal.js b/src/common/AddonDetailsModal/AddonDetailsModal.js
index d30582926..c04bc2d75 100644
--- a/src/common/AddonDetailsModal/AddonDetailsModal.js
+++ b/src/common/AddonDetailsModal/AddonDetailsModal.js
@@ -12,7 +12,7 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {
const { core } = useServices();
const addonDetails = useAddonDetails(transportUrl);
const modalButtons = React.useMemo(() => {
- if (addonDetails.remote_addon === null || addonDetails.remote_addon.content.type !== 'Ready') {
+ if (addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type !== 'Ready') {
return null;
}
@@ -30,7 +30,7 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {
action: 'Ctx',
args: {
action: 'InstallAddon',
- args: addonDetails.remote_addon.content.content
+ args: addonDetails.remoteAddon.content.content
}
});
if (typeof onCloseRequest === 'function') {
@@ -46,7 +46,7 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {
action: 'Ctx',
args: {
action: 'UninstallAddon',
- args: addonDetails.remote_addon.content.content.transportUrl
+ args: addonDetails.remoteAddon.content.content.transportUrl
}
});
if (typeof onCloseRequest === 'function') {
@@ -65,7 +65,7 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {
onClick: cancelOnClick
}
},
- addonDetails.remote_addon.content.content.installed ?
+ addonDetails.localAddon !== null ?
{
className: styles['uninstall-button'],
label: 'Uninstall',
@@ -92,27 +92,27 @@ const AddonDetailsModal = ({ transportUrl, onCloseRequest }) => {
Loading addon manifest
:
- addonDetails.remote_addon === null || addonDetails.remote_addon.content.type === 'Loading' ?
+ addonDetails.remoteAddon === null || addonDetails.remoteAddon.content.type === 'Loading' ?
- Loading addon manifest from {addonDetails.selected.transport_url}
+ Loading addon manifest from {addonDetails.selected.transportUrl}
:
- addonDetails.remote_addon.content.type === 'Err' ?
+ addonDetails.remoteAddon.content.type === 'Err' ?
- Failed to get addon manifest from {addonDetails.selected.transport_url}.
- {addonDetails.remote_addon.content.content}
+ Failed to get addon manifest from {addonDetails.selected.transportUrl}
+
{addonDetails.remoteAddon.content.content.message}
:
}
diff --git a/src/common/AddonDetailsModal/useAddonDetails.js b/src/common/AddonDetailsModal/useAddonDetails.js
index 213a8f97e..6b3ef4eff 100644
--- a/src/common/AddonDetailsModal/useAddonDetails.js
+++ b/src/common/AddonDetailsModal/useAddonDetails.js
@@ -3,38 +3,21 @@
const React = require('react');
const useModelState = require('stremio/common/useModelState');
-const initAddonDetailsState = () => ({
+const init = () => ({
selected: null,
- remote_addon: null
+ localAddon: null,
+ remoteAddon: null
});
-const mapAddonDetailsStateWithCtx = (addonDetails, ctx) => {
- const selected = addonDetails.selected;
- const remote_addon = addonDetails.remote_addon !== null && addonDetails.remote_addon.content.type === 'Ready' ?
- {
- transport_url: addonDetails.remote_addon.transport_url,
- content: {
- type: addonDetails.remote_addon.content.type,
- content: {
- ...addonDetails.remote_addon.content.content,
- installed: ctx.profile.addons.some(({ transportUrl }) => transportUrl === addonDetails.remote_addon.transport_url),
- }
- }
- }
- :
- addonDetails.remote_addon;
- return { selected, remote_addon };
-};
-
const useAddonDetails = (transportUrl) => {
- const loadAddonDetailsAction = React.useMemo(() => {
+ const action = React.useMemo(() => {
if (typeof transportUrl === 'string') {
return {
action: 'Load',
args: {
model: 'AddonDetails',
args: {
- transport_url: transportUrl
+ transportUrl
}
}
};
@@ -44,12 +27,7 @@ const useAddonDetails = (transportUrl) => {
};
}
}, [transportUrl]);
- return useModelState({
- model: 'addon_details',
- action: loadAddonDetailsAction,
- mapWithCtx: mapAddonDetailsStateWithCtx,
- init: initAddonDetailsState,
- });
+ return useModelState({ model: 'addon_details', action, init });
};
module.exports = useAddonDetails;