diff --git a/src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js b/src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js index 8c5362e9f..a52de8816 100644 --- a/src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js +++ b/src/common/NavBar/HorizontalNavBar/NavMenu/NavMenuContent.js @@ -3,6 +3,7 @@ const React = require('react'); const PropTypes = require('prop-types'); const classnames = require('classnames'); +const magnet = require('magnet-uri'); const Icon = require('@stremio/stremio-icons/dom'); const { useServices } = require('stremio/services'); const Button = require('stremio/common/Button'); @@ -23,6 +24,23 @@ const NavMenuContent = ({ onClick }) => { } }); }, []); + const onPlayMagnetLinkClick = React.useCallback(async () => { + try { + const clipboardText = await navigator.clipboard.readText(); + const parsed = magnet.decode(clipboardText); + if (parsed && typeof parsed.infoHash === 'string') { + core.transport.dispatch({ + action: 'StreamingServer', + args: { + action: 'CreateTorrent', + args: clipboardText + } + }); + } + } catch(e) { + console.error(e); + } + }, []); return (