diff --git a/src/components/DiscItem/DiscItem.js b/src/components/DiscItem/DiscItem.js
index 45f6499a6..cc1cf5315 100644
--- a/src/components/DiscItem/DiscItem.js
+++ b/src/components/DiscItem/DiscItem.js
@@ -1,15 +1,12 @@
// Copyright (C) 2017-2023 Smart code 203358507
const React = require('react');
-const { useServices } = require('stremio/services');
const PropTypes = require('prop-types');
const classnames = require('classnames');
const MetaItem = require('stremio/components/MetaItem');
const { t } = require('i18next');
-const DiscItem = ({ id, watched, selected, toggleWatched, ...props }) => {
-
- const { core } = useServices();
+const DiscItem = ({ id, watched, selected, toggleWatched, select, ...props }) => {
const options = React.useMemo(() => {
return [
diff --git a/src/components/MetaPreview/MetaPreview.js b/src/components/MetaPreview/MetaPreview.js
index e4ec82ded..829903cfa 100644
--- a/src/components/MetaPreview/MetaPreview.js
+++ b/src/components/MetaPreview/MetaPreview.js
@@ -195,19 +195,6 @@ const MetaPreview = React.forwardRef(({ className, compact, name, logo, backgrou
}
- {
- typeof toggleInLibrary === 'function' ?
-
- :
- null
- }
{
typeof trailerHref === 'string' ?
+ :
+ null
+ }
{
typeof toggleWatched === 'function' ?
{
}
});
}, [selectedMetaItem]);
- const toggleWatched = React.useCallback(() => {
- if (selectedMetaItem === null) {
+ const toggleWatched = React.useCallback((item) => {
+ if (item === null) {
return;
}
- if (!selectedMetaItem.inLibrary) {
+ if (!item.inLibrary) {
core.transport.dispatch({
action: 'Ctx',
args: {
action: 'AddToLibrary',
- args: selectedMetaItem
+ args: item
}
});
}
@@ -94,12 +94,12 @@ const Discover = ({ urlParams, queryParams }) => {
args: {
action: 'LibraryItemMarkAsWatched',
args: {
- id: selectedMetaItem.id,
- is_watched: !selectedMetaItem.watched
+ id: item.id,
+ is_watched: !item.watched
}
}
});
- }, [selectedMetaItem]);
+ }, []);
const metaItemsOnFocusCapture = React.useCallback((event) => {
if (event.target.dataset.index !== null && !isNaN(event.target.dataset.index)) {
setSelectedMetaItemIndex(parseInt(event.target.dataset.index, 10));
@@ -184,7 +184,7 @@ const Discover = ({ urlParams, queryParams }) => {
:
{discover.catalog.content.content.map((discItem, index) => (
-
+ toggleWatched(discItem)} selected={selectedMetaItemIndex === index} key={index} data-index={index} onClick={metaItemOnClick} />
))}
}
@@ -208,7 +208,7 @@ const Discover = ({ urlParams, queryParams }) => {
inLibrary={selectedMetaItem.inLibrary}
toggleInLibrary={selectedMetaItem.inLibrary ? removeFromLibrary : addToLibrary}
watched={selectedMetaItem.watched}
- toggleWatched={toggleWatched}
+ toggleWatched={() => toggleWatched(selectedMetaItem)}
metaId={selectedMetaItem.id}
like={selectedMetaItem.like}
/>