diff --git a/components/extras/ExtrasRowList.bs b/components/extras/ExtrasRowList.bs index c008795aa..70b886c3c 100644 --- a/components/extras/ExtrasRowList.bs +++ b/components/extras/ExtrasRowList.bs @@ -1,3 +1,5 @@ +import "pkg:/source/utils/misc.bs" + sub init() m.top.visible = true updateSize() @@ -183,9 +185,20 @@ function buildRow(rowTitle as string, items, imgWdth = 0) row = CreateObject("roSGNode", "ContentNode") row.Title = tr(rowTitle) for each mov in items + if LCase(mov.json.type) = "episode" + if isAllValid([mov.json.SeriesName, mov.json.ParentIndexNumber, mov.json.IndexNumber, mov.json.Name]) + mov.labelText = mov.json.SeriesName + mov.subTitle = `S${mov.json.ParentIndexNumber}:E${mov.json.IndexNumber} - ${mov.json.Name}` + else + mov.labelText = mov.json.Name + mov.subTitle = mov.json.ProductionYear + end if + else + mov.labelText = mov.json.Name + mov.subTitle = mov.json.ProductionYear + end if + mov.Id = mov.json.Id - mov.labelText = mov.json.Name - mov.subTitle = mov.json.ProductionYear mov.Type = mov.json.Type if imgWdth > 0 mov.imageWidth = imgWdth diff --git a/source/utils/misc.bs b/source/utils/misc.bs index 7cd621f47..49c84bfb7 100644 --- a/source/utils/misc.bs +++ b/source/utils/misc.bs @@ -299,6 +299,14 @@ function isValid(input as dynamic) as boolean return input <> invalid end function +' Returns whether or not all items in passed array are valid +function isAllValid(input as object) as boolean + for each item in input + if not isValid(item) then return false + end for + return true +end function + ' Returns whether or not passed value is valid and not empty ' Accepts a string, or any countable type (arrays and lists) function isValidAndNotEmpty(input as dynamic) as boolean