diff --git a/components/extras/ExtrasRowList.bs b/components/extras/ExtrasRowList.bs index 3c2d9308..70b886c3 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() @@ -184,8 +186,13 @@ function buildRow(rowTitle as string, items, imgWdth = 0) row.Title = tr(rowTitle) for each mov in items if LCase(mov.json.type) = "episode" - mov.labelText = mov.json.SeriesName - mov.subTitle = `S${mov.json.ParentIndexNumber}:E${mov.json.IndexNumber} - ${mov.json.Name}` + 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 diff --git a/source/utils/misc.bs b/source/utils/misc.bs index 7cd621f4..49c84bfb 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