From c0dc42484d5eec2defaaf394c55489f558b1d290 Mon Sep 17 00:00:00 2001 From: nklhrstv Date: Mon, 6 Apr 2020 10:22:17 +0300 Subject: [PATCH] deep linking integrated in continue watching preview --- src/common/deepLinking.js | 4 +-- src/routes/Board/Board.js | 2 +- .../Board/useContinueWatchingPreview.js | 25 ++++++++++--------- 3 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/common/deepLinking.js b/src/common/deepLinking.js index c68e7fb9f..1cb8feae8 100644 --- a/src/common/deepLinking.js +++ b/src/common/deepLinking.js @@ -31,8 +31,8 @@ const withLibItem = ({ libItem, streams = {} }) => { : []; return { - videos: `#/metadetails/${encodeURIComponent(libItem.type)}/${encodeURIComponent(libItem._id)}`, - streams: typeof videoId === 'string' ? + meta_details_videos: `#/metadetails/${encodeURIComponent(libItem.type)}/${encodeURIComponent(libItem._id)}`, + meta_details_streams: typeof videoId === 'string' ? `#/metadetails/${encodeURIComponent(libItem.type)}/${encodeURIComponent(libItem._id)}/${encodeURIComponent(videoId)}` : null, diff --git a/src/routes/Board/Board.js b/src/routes/Board/Board.js index f21536db7..ec01a4c63 100644 --- a/src/routes/Board/Board.js +++ b/src/routes/Board/Board.js @@ -18,7 +18,7 @@ const Board = () => { title={'Continue Watching'} items={continueWatchingPreview.lib_items} itemComponent={LibItem} - href={'#/continuewatching'} + deepLinks={continueWatchingPreview.deepLinks} /> : null diff --git a/src/routes/Board/useContinueWatchingPreview.js b/src/routes/Board/useContinueWatchingPreview.js index cebe44b20..603100e5d 100644 --- a/src/routes/Board/useContinueWatchingPreview.js +++ b/src/routes/Board/useContinueWatchingPreview.js @@ -1,22 +1,23 @@ const React = require('react'); const { useServices } = require('stremio/services'); -const { useModelState } = require('stremio/common'); +const { deepLinking, useModelState } = require('stremio/common'); const mapContinueWatchingPreviewState = (continue_watching_preview) => { - const lib_items = continue_watching_preview.lib_items.map((lib_item) => ({ - id: lib_item._id, - type: lib_item.type, - name: lib_item.name, - poster: lib_item.poster, - posterShape: lib_item.posterShape === 'landscape' ? 'square' : lib_item.posterShape, - videoId: lib_item.state.video_id, - progress: lib_item.state.timeOffset > 0 && lib_item.state.duration > 0 ? - lib_item.state.timeOffset / lib_item.state.duration + const lib_items = continue_watching_preview.lib_items.map((libItem) => ({ + id: libItem._id, + type: libItem.type, + name: libItem.name, + poster: libItem.poster, + posterShape: libItem.posterShape === 'landscape' ? 'square' : libItem.posterShape, + videoId: libItem.state.video_id, + progress: libItem.state.timeOffset > 0 && libItem.state.duration > 0 ? + libItem.state.timeOffset / libItem.state.duration : null, - href: `#/metadetails/${encodeURIComponent(lib_item.type)}/${encodeURIComponent(lib_item._id)}${lib_item.state.video_id !== null ? `/${encodeURIComponent(lib_item.state.video_id)}` : ''}` + deepLinks: deepLinking.withLibItem({ libItem }) })); - return { lib_items }; + const deepLinks = { discover: '#/continuewatching' }; + return { lib_items, deepLinks }; }; const useContinueWatchingPreview = () => {