diff --git a/src/common/CONSTANTS.js b/src/common/CONSTANTS.js index d7afe5d7a..359c5a3fb 100644 --- a/src/common/CONSTANTS.js +++ b/src/common/CONSTANTS.js @@ -4,6 +4,19 @@ const CATALOG_PREVIEW_SIZE = 10; const CATALOG_PAGE_SIZE = 100; const NONE_EXTRA_VALUE = 'None'; const SKIP_EXTRA_NAME = 'skip'; +const TYPE_PRIORITIES = { + movie: 10, + series: 9, + channel: 8, + tv: 7, + music: 6, + radio: 5, + podcast: 4, + game: 3, + book: 2, + adult: 1, + other: -Infinity +}; module.exports = { SUBTITLES_SIZES, @@ -11,5 +24,6 @@ module.exports = { CATALOG_PREVIEW_SIZE, CATALOG_PAGE_SIZE, NONE_EXTRA_VALUE, - SKIP_EXTRA_NAME + SKIP_EXTRA_NAME, + TYPE_PRIORITIES }; diff --git a/src/routes/Library/useLibrary.js b/src/routes/Library/useLibrary.js index a9dd2c478..bd4c34d28 100644 --- a/src/routes/Library/useLibrary.js +++ b/src/routes/Library/useLibrary.js @@ -1,5 +1,5 @@ const React = require('react'); -const { useModelState } = require('stremio/common'); +const { CONSTANTS, useModelState, comparatorWithPriorities } = require('stremio/common'); const initLibraryState = () => ({ selected: null, @@ -9,7 +9,7 @@ const initLibraryState = () => ({ const mapLibraryState = (library) => { const selected = library.selected; - const type_names = library.type_names; + const type_names = library.type_names.sort(comparatorWithPriorities(CONSTANTS.TYPE_PRIORITIES)); const lib_items = library.lib_items.map((lib_item) => ({ id: lib_item._id, type: lib_item.type,