diff --git a/src/routes/MetaDetails/StreamsList/Stream/Stream.js b/src/routes/MetaDetails/StreamsList/Stream/Stream.js
index 23a1ce607..aa47b1765 100644
--- a/src/routes/MetaDetails/StreamsList/Stream/Stream.js
+++ b/src/routes/MetaDetails/StreamsList/Stream/Stream.js
@@ -4,11 +4,11 @@ const React = require('react');
const PropTypes = require('prop-types');
const classnames = require('classnames');
const { default: Icon } = require('@stremio/stremio-icons/react');
+const { t } = require('i18next');
const { Button, Image, useProfile, platform, useToast, Popup, useBinaryState } = require('stremio/common');
const { useServices } = require('stremio/services');
const { useRouteFocused } = require('stremio-router');
const StreamPlaceholder = require('./StreamPlaceholder');
-const { t } = require('i18next');
const styles = require('./styles');
const Stream = ({ className, videoId, videoReleased, addonName, name, description, thumbnail, progress, deepLinks, ...props }) => {
@@ -19,12 +19,6 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
const [menuOpen, , closeMenu, toggleMenu] = useBinaryState(false);
- React.useEffect(() => {
- if (!routeFocused) {
- closeMenu();
- }
- }, [routeFocused]);
-
const popupLabelOnMouseUp = React.useCallback((event) => {
if (!event.nativeEvent.togglePopupPrevented) {
if (event.nativeEvent.ctrlKey || event.nativeEvent.button === 2) {
@@ -89,6 +83,10 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
null;
}, [href, deepLinks]);
+ const streamLink = React.useMemo(() => {
+ return deepLinks?.externalPlayer?.download;
+ }, [deepLinks]);
+
const markVideoAsWatched = React.useCallback(() => {
if (typeof videoId === 'string') {
core.transport.dispatch({
@@ -116,12 +114,9 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
}
}, [props.onClick, profile.settings, markVideoAsWatched]);
- const streamLink = React.useMemo(() => {
- return deepLinks?.externalPlayer?.download;
- }, [deepLinks]);
-
const copyStreamLink = React.useCallback((event) => {
event.preventDefault();
+ closeMenu();
if (streamLink && navigator?.clipboard) {
navigator.clipboard.writeText(deepLinks.externalPlayer.download)
.then(() => {
@@ -146,68 +141,69 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
timeout: 4000,
});
}
- closeMenu();
}, [streamLink]);
const renderThumbnailFallback = React.useCallback(() => (