components_data_MovieData.bs

import "pkg:/source/api/Image.bs"
import "pkg:/source/api/baserequest.bs"
import "pkg:/source/utils/config.bs"
import "pkg:/source/utils/misc.bs"

sub setFields()
    if not isValid(m.top.json) then return
    json = m.top.json

    m.top.id = json.id
    m.top.Title = json.name
    m.top.Description = json.overview
    m.top.favorite = json.UserData.isFavorite
    m.top.watched = json.UserData.played
    m.top.Type = "Movie"

    if isValid(json.MediaSourceCount) and json.MediaSourceCount > 1
        if isValid(json.MediaSources)
            m.top.mediaSources = []
            for each source in json.MediaSources
                m.top.mediaSources.push(source)
            end for
        end if
    end if

    if json.ProductionYear <> invalid
        m.top.SubTitle = json.ProductionYear
    end if

    if json.OfficialRating <> invalid and json.OfficialRating <> ""
        m.top.Rating = json.OfficialRating
        if m.top.SubTitle <> ""
            m.top.SubTitle = m.top.SubTitle + " - " + m.top.Rating
        else
            m.top.SubTitle = m.top.Rating
        end if
    end if

    setPoster()
    setContainer()
end sub

sub setPoster()
    if m.top.image <> invalid
        m.top.posterURL = m.top.image.url
    else
        if isValid(m.top.json)
            if isValid(m.top.json.ImageTags) and isValid(m.top.json.ImageTags.Primary)
                imgParams = { "maxHeight": 440, "maxWidth": 295, "Tag": m.top.json.ImageTags.Primary }
                m.top.posterURL = ImageURL(m.top.json.id, "Primary", imgParams)
            else if isValid(m.top.json.BackdropImageTags) and isValid(m.top.json.BackdropImageTags[0])
                imgParams = { "maxHeight": 440, "Tag": m.top.json.BackdropImageTags[0] }
                m.top.posterURL = ImageURL(m.top.json.id, "Backdrop", imgParams)
            else if isValid(m.top.json.ParentThumbImageTag) and isValid(m.top.json.ParentThumbItemId)
                imgParams = { "maxHeight": 440, "maxWidth": 295, "Tag": m.top.json.ParentThumbImageTag }
                m.top.posterURL = ImageURL(m.top.json.ParentThumbItemId, "Thumb", imgParams)
            end if

            ' Add Backdrop Image
            if isValid(m.top.json.BackdropImageTags) and isValid(m.top.json.BackdropImageTags[0])
                imgParams = { "maxHeight": 720, "maxWidth": 1280, "Tag": m.top.json.BackdropImageTags[0] }
                m.top.backdropURL = ImageURL(m.top.json.id, "Backdrop", imgParams)
            end if
        end if
    end if
end sub

sub setContainer()
    json = m.top.json

    if json.mediaSources = invalid then return
    if json.mediaSources.count() = 0 then return

    m.top.container = json.mediaSources[0].container

    if m.top.container = invalid then m.top.container = ""

    if m.top.container = "m4v" or m.top.container = "mov"
        m.top.container = "mp4"
    end if
end sub