refactor(Player): disable play in external player on options menu

This commit is contained in:
Tim 2022-11-28 13:28:32 +01:00
parent c5d84bfe6b
commit e68a0a7c77

View file

@ -5,12 +5,12 @@ const PropTypes = require('prop-types');
const classnames = require('classnames'); const classnames = require('classnames');
const Icon = require('@stremio/stremio-icons/dom'); const Icon = require('@stremio/stremio-icons/dom');
const { Button, useStreamingServer, useToast } = require('stremio/common'); const { Button, useStreamingServer, useToast } = require('stremio/common');
const { useServices } = require('stremio/services'); // const { useServices } = require('stremio/services');
const styles = require('./styles'); const styles = require('./styles');
const OptionsMenu = ({ className, stream }) => { const OptionsMenu = ({ className, stream }) => {
const streamingServer = useStreamingServer(); const streamingServer = useStreamingServer();
const { core } = useServices(); // const { core } = useServices();
const toast = useToast(); const toast = useToast();
const streamUrl = React.useMemo(() => { const streamUrl = React.useMemo(() => {
return stream !== null ? return stream !== null ?
@ -54,20 +54,20 @@ const OptionsMenu = ({ className, stream }) => {
window.open(streamUrl); window.open(streamUrl);
} }
}, [streamUrl]); }, [streamUrl]);
const onExternalPlayerButtonClick = React.useCallback(() => { // const onExternalPlayerButtonClick = React.useCallback(() => {
if (streamUrl !== null) { // if (streamUrl !== null) {
core.transport.dispatch({ // core.transport.dispatch({
action: 'StreamingServer', // action: 'StreamingServer',
args: { // args: {
action: 'PlayOnDevice', // action: 'PlayOnDevice',
args: { // args: {
device: 'vlc', // device: 'vlc',
source: streamUrl, // source: streamUrl,
} // }
} // }
}); // });
} // }
}, [streamUrl]); // }, [streamUrl]);
const onMouseDown = React.useCallback((event) => { const onMouseDown = React.useCallback((event) => {
event.nativeEvent.optionsMenuClosePrevented = true; event.nativeEvent.optionsMenuClosePrevented = true;
}, []); }, []);
@ -81,10 +81,10 @@ const OptionsMenu = ({ className, stream }) => {
<Icon className={styles['icon']} icon={'ic_downloads'} /> <Icon className={styles['icon']} icon={'ic_downloads'} />
<div className={styles['label']}>Download Video</div> <div className={styles['label']}>Download Video</div>
</Button> </Button>
<Button className={classnames(styles['option-container'], { 'disabled': stream === null })} disabled={stream === null} onClick={onExternalPlayerButtonClick}> {/* <Button className={classnames(styles['option-container'], { 'disabled': stream === null })} disabled={stream === null} onClick={onExternalPlayerButtonClick}>
<Icon className={styles['icon']} icon={'ic_vlc'} /> <Icon className={styles['icon']} icon={'ic_vlc'} />
<div className={styles['label']}>Play in External Player</div> <div className={styles['label']}>Play in External Player</div>
</Button> </Button> */}
</div> </div>
); );
}; };