diff --git a/components/MovieItemDetails.xml b/components/MovieItemDetails.xml new file mode 100644 index 00000000..c235068b --- /dev/null +++ b/components/MovieItemDetails.xml @@ -0,0 +1,57 @@ + + + + + + + + + + + + + + diff --git a/source/JellyfinAPI.brs b/source/JellyfinAPI.brs index e689fa88..d8354092 100644 --- a/source/JellyfinAPI.brs +++ b/source/JellyfinAPI.brs @@ -12,7 +12,8 @@ function buildURL(path as String, params={} as Object) as string item = field.key + "=" + req.escape(field.value.trim()) else if type(field.value) = "roInteger" then item = field.key + "=" + req.escape(str(field.value).trim()) - else + else if field <> invalid + req = createObject("roUrlTransfer") ' Just so we can use it for escape item = field.key + "=" + req.escape(field.value) end if param_array.push(item) diff --git a/source/ShowScenes.brs b/source/ShowScenes.brs index 4dc24f1e..a719c58b 100644 --- a/source/ShowScenes.brs +++ b/source/ShowScenes.brs @@ -124,7 +124,28 @@ sub ShowMovieOptions(library_id) return else if itemSelectedQ(msg) target = getMsgRowTarget(msg) - showVideoPlayer(target.movieID) + ShowMovieDetails(target.movieID) + 'showVideoPlayer(target.movieID) + end if + end while +end sub + +sub ShowMovieDetails(movie_id) + port = CreateObject("roMessagePort") + screen = CreateObject("roSGScreen") + screen.setMessagePort(port) + scene = screen.CreateScene("MovieItemDetailScene") + + screen.show() + + scene.itemJson = ItemMetaData(movie_id) + + while true + msg = wait(0, port) + if type(msg) = "roSGScreenEvent" and msg.isScreenClosed() then + return + else if itemSelectedQ(msg) + ' showVideoPlayer(target.movieID) end if end while end sub