diff --git a/src/App/App.js b/src/App/App.js index d3a1ce188..d4c55be32 100644 --- a/src/App/App.js +++ b/src/App/App.js @@ -100,14 +100,26 @@ const App = () => { }; }, []); - // Handle shell window visibility changed event + // Handle shell events React.useEffect(() => { const onWindowVisibilityChanged = (state) => { setWindowHidden(state.visible === false && state.visibility === 0); }; + const onOpenMedia = (data) => { + if (data.startsWith('stremio://')) { + const transportUrl = data.replace('stremio://', 'https://'); + window.location.href = `#/addons?addon=${encodeURIComponent(transportUrl)}`; + } + }; + shell.on('win-visibility-changed', onWindowVisibilityChanged); - return () => shell.off('win-visibility-changed', onWindowVisibilityChanged); + shell.on('open-media', onOpenMedia); + + return () => { + shell.off('win-visibility-changed', onWindowVisibilityChanged); + shell.off('open-media', onOpenMedia); + }; }, []); React.useEffect(() => {