diff --git a/src/routes/MetaDetails/StreamsList/Stream/Stream.js b/src/routes/MetaDetails/StreamsList/Stream/Stream.js index 41f81b386..96c95e42f 100644 --- a/src/routes/MetaDetails/StreamsList/Stream/Stream.js +++ b/src/routes/MetaDetails/StreamsList/Stream/Stream.js @@ -86,6 +86,10 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio }, [href, deepLinks]); const streamLink = React.useMemo(() => { + return deepLinks?.externalPlayer?.streaming; + }, [deepLinks]); + + const downloadLink = React.useMemo(() => { return deepLinks?.externalPlayer?.download; }, [deepLinks]); @@ -116,6 +120,28 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio } }, [props.onClick, profile.settings, markVideoAsWatched]); + const copyDownloadLink = React.useCallback((event) => { + event.preventDefault(); + closeMenu(); + if (downloadLink) { + navigator.clipboard.writeText(downloadLink) + .then(() => { + toast.show({ + type: 'success', + title: t('PLAYER_COPY_DOWNLOAD_SUCCESS'), + timeout: 4000 + }); + }) + .catch(() => { + toast.show({ + type: 'error', + title: t('PLAYER_COPY_DOWNLOAD_ERROR'), + timeout: 4000, + }); + }); + } + }, [downloadLink]); + const copyStreamLink = React.useCallback((event) => { event.preventDefault(); closeMenu(); @@ -195,6 +221,13 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
{t('CTX_COPY_STREAM_LINK')}
} + { + downloadLink && + + } ); }, [copyStreamLink, onClick]);