mirror of
https://github.com/Stremio/stremio-web.git
synced 2026-04-21 07:32:02 +00:00
memo stuff
This commit is contained in:
parent
9b1e5841e6
commit
24ef298694
1 changed files with 22 additions and 16 deletions
|
|
@ -116,9 +116,13 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
|
||||||
}
|
}
|
||||||
}, [props.onClick, profile.settings, markVideoAsWatched]);
|
}, [props.onClick, profile.settings, markVideoAsWatched]);
|
||||||
|
|
||||||
const copyMagneticLinkToClipboard = React.useCallback((event) => {
|
const streamLink = React.useMemo(() => {
|
||||||
|
return deepLinks?.externalPlayer?.download;
|
||||||
|
}, [deepLinks]);
|
||||||
|
|
||||||
|
const copyStreamLink = React.useCallback((event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
if (deepLinks?.externalPlayer?.download && navigator?.clipboard) {
|
if (streamLink && navigator?.clipboard) {
|
||||||
navigator.clipboard.writeText(deepLinks.externalPlayer.download)
|
navigator.clipboard.writeText(deepLinks.externalPlayer.download)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
toast.show({
|
toast.show({
|
||||||
|
|
@ -143,7 +147,7 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
closeMenu();
|
closeMenu();
|
||||||
}, []);
|
}, [streamLink]);
|
||||||
|
|
||||||
const renderThumbnailFallback = React.useCallback(() => (
|
const renderThumbnailFallback = React.useCallback(() => (
|
||||||
<Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />
|
<Icon className={styles['placeholder-icon']} name={'ic_broken_link'} />
|
||||||
|
|
@ -186,21 +190,23 @@ const Stream = ({ className, videoId, videoReleased, addonName, name, descriptio
|
||||||
</Button>
|
</Button>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
[]
|
[onClick]
|
||||||
);
|
);
|
||||||
|
|
||||||
const renderMenu = function renderMenu() {
|
const renderMenu = React.useMemo(
|
||||||
return (
|
() => {
|
||||||
<div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>
|
return (
|
||||||
<Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>
|
<div className={styles['context-menu-content']} onPointerDown={popupMenuOnPointerDown} onContextMenu={popupMenuOnContextMenu} onClick={popupMenuOnClick} onKeyDown={popupMenuOnKeyDown}>
|
||||||
<div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>
|
<Button className={styles['context-menu-option-container']} title={t('CTX_PLAY')}>
|
||||||
</Button>
|
<div className={styles['context-menu-option-label']}>{t('CTX_PLAY')}</div>
|
||||||
{deepLinks?.externalPlayer?.download && <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyMagneticLinkToClipboard}>
|
</Button>
|
||||||
<div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>
|
{streamLink && <Button className={styles['context-menu-option-container']} title={t('CTX_COPY_STREAM_LINK')} onClick={copyStreamLink}>
|
||||||
</Button>}
|
<div className={styles['context-menu-option-label']}>{t('CTX_COPY_STREAM_LINK')}</div>
|
||||||
</div>
|
</Button>}
|
||||||
);
|
</div>
|
||||||
};
|
);
|
||||||
|
}, [copyStreamLink, onClick]
|
||||||
|
);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Popup
|
<Popup
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue