Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 0 additions & 8 deletions Emby/Emby.Plugins.Moonfin/Pages/configPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -1071,14 +1071,6 @@ <h4 style="margin: 1em 0 0.5em; font-size: 0.95em; color: #00a4dc;">Home Screen<
<option value="false">No</option>
</select>
</div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="DefaultDisplaySeerrRows">Show Seerr Rows</label>
<select id="DefaultDisplaySeerrRows" is="emby-select">
<option value="">Not set (user decides)</option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="DefaultDisplayPlaylistsRows">Show Playlists Rows</label>
<select id="DefaultDisplayPlaylistsRows" is="emby-select">
Expand Down
2 changes: 0 additions & 2 deletions Emby/Emby.Plugins.Moonfin/Pages/moonfin.js
Original file line number Diff line number Diff line change
Expand Up @@ -1441,7 +1441,6 @@ define(['baseView', 'loading', 'emby-input', 'emby-button', 'emby-checkbox', 'em
setNullableBoolSelect(view, '#DefaultDisplayFavoritesRows', defaults.displayFavoritesRows);
setNullableBoolSelect(view, '#DefaultDisplayCollectionsRows', defaults.displayCollectionsRows);
setNullableBoolSelect(view, '#DefaultDisplayGenresRows', defaults.displayGenresRows);
setNullableBoolSelect(view, '#DefaultDisplaySeerrRows', defaults.displaySeerrRows);
setNullableBoolSelect(view, '#DefaultDisplayPlaylistsRows', defaults.displayPlaylistsRows);
setNullableBoolSelect(view, '#DefaultDisplayAudioRows', defaults.displayAudioRows);
setSelectValue(view, '#DefaultFavoritesRowSortBy', defaults.favoritesRowSortBy, 'Configured sort');
Expand Down Expand Up @@ -1545,7 +1544,6 @@ define(['baseView', 'loading', 'emby-input', 'emby-button', 'emby-checkbox', 'em
d.displayFavoritesRows = getNullableBoolSelect(view, '#DefaultDisplayFavoritesRows');
d.displayCollectionsRows = getNullableBoolSelect(view, '#DefaultDisplayCollectionsRows');
d.displayGenresRows = getNullableBoolSelect(view, '#DefaultDisplayGenresRows');
d.displaySeerrRows = getNullableBoolSelect(view, '#DefaultDisplaySeerrRows');
d.displayPlaylistsRows = getNullableBoolSelect(view, '#DefaultDisplayPlaylistsRows');
d.displayAudioRows = getNullableBoolSelect(view, '#DefaultDisplayAudioRows');
d.favoritesRowSortBy = view.querySelector('#DefaultFavoritesRowSortBy').value || null;
Expand Down
93 changes: 75 additions & 18 deletions Jellyfin/backend/Pages/configPage.html
Original file line number Diff line number Diff line change
Expand Up @@ -886,14 +886,6 @@ <h4 style="margin: 1em 0 0.5em; font-size: 0.95em; color: #00a4dc;">Home Row Set
<option value="false">No</option>
</select>
</div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="DefaultDisplaySeerrRows">Show Seerr Rows</label>
<select id="DefaultDisplaySeerrRows" is="emby-select">
<option value="">Not set (user decides)</option>
<option value="true">Yes</option>
<option value="false">No</option>
</select>
</div>
<div class="inputContainer">
<label class="inputLabel inputLabelUnfocused" for="DefaultFavoritesRowSortBy">Favorites Row Sort</label>
<select id="DefaultFavoritesRowSortBy" is="emby-select">
Expand Down Expand Up @@ -1382,6 +1374,12 @@ <h3 class="sectionTitle">Active Downloads</h3>
color: rgba(237, 221, 255, 0.98);
}

#MoonfinConfigPage .homeLayoutBadge-external {
border-color: rgba(168, 85, 247, 0.48);
background: rgba(168, 85, 247, 0.18);
color: rgba(237, 221, 255, 0.98);
}

#MoonfinConfigPage .homeLayoutBadge-dynamic {
border-color: rgba(168, 85, 247, 0.38);
background: rgba(168, 85, 247, 0.14);
Expand Down Expand Up @@ -1736,6 +1734,12 @@ <h3 class="sectionTitle">Active Downloads</h3>
{ type: 'favoritesongs', label: 'Favorite Songs' },
{ type: 'genres', label: 'Genres' },
{ type: 'playlists', label: 'Playlists' },
{ type: 'sinceyouwatched1', label: "Since You Watched 1" },
{ type: 'sinceyouwatched2', label: "Since You Watched 2" },
{ type: 'sinceyouwatched3', label: "Since You Watched 3" },
{ type: 'sinceyouwatched4', label: "Since You Watched 4" },
{ type: 'sinceyouwatched5', label: "Since You Watched 5" },
{ type: 'rewatch', label: "Rewatch" },
{ type: 'seerr_recent_requests', label: 'Seerr Recent Requests' },
{ type: 'seerr_recently_added', label: 'Seerr Recently Added' },
{ type: 'seerr_popular_movies', label: 'Seerr Popular Movies' },
Expand All @@ -1746,7 +1750,28 @@ <h3 class="sectionTitle">Active Downloads</h3>
{ type: 'seerr_movie_genres', label: 'Seerr Movie Genres' },
{ type: 'seerr_studios', label: 'Seerr Studios' },
{ type: 'seerr_series_genres', label: 'Seerr Series Genres' },
{ type: 'seerr_networks', label: 'Seerr Networks' }
{ type: 'seerr_networks', label: 'Seerr Networks' },
{ type: 'imdb_top_250_movies', label: 'IMDB Top 250 Movies' },
{ type: 'imdb_top_250_tv_shows', label: 'IMDB Top 250 Shows' },
{ type: 'imdb_most_popular_movies', label: 'IMDB Most Popular Movies' },
{ type: 'imdb_most_popular_tv_shows', label: 'IMDB Most Popular Shows' },
{ type: 'imdb_lowest_rated_movies', label: 'IMDB Lowest Rated Movies' },
{ type: 'imdb_top_english_movies', label: 'IMDB Top English Movies' },
{ type: 'tmdb_popular_movies', label: 'TMDB Popular Movies' },
{ type: 'tmdb_top_rated_movies', label: 'TMDB Top Rated Movies' },
{ type: 'tmdb_now_playing_movies', label: 'TMDB Now Playing Movies' },
{ type: 'tmdb_upcoming_movies', label: 'TMDB Upcoming Movies' },
{ type: 'tmdb_popular_tv', label: 'TMDB Popular TV' },
{ type: 'tmdb_top_rated_tv', label: 'TMDB Top Rated TV' },
{ type: 'tmdb_airing_today_tv', label: 'TMDB Airing Today TV' },
{ type: 'tmdb_on_the_air_tv', label: 'TMDB On The Air TV' },
{ type: 'tmdb_trending_movie_daily', label: 'TMDB Trending Movies (Daily)' },
{ type: 'tmdb_trending_movie_weekly', label: 'TMDB Trending Movies (Weekly)' },
{ type: 'tmdb_trending_tv_daily', label: 'TMDB Trending TV (Daily)' },
{ type: 'tmdb_trending_tv_weekly', label: 'TMDB Trending TV (Weekly)' },
{ type: 'tmdb_trending_all_weekly', label: 'TMDB Trending All (Weekly)' },
{ type: 'radarr_calendar', label: 'Radarr Upcoming' },
{ type: 'sonarr_calendar', label: 'Sonarr Upcoming' }
];

function loadRatingSourcesPicker(selectedIds) {
Expand Down Expand Up @@ -1808,7 +1833,8 @@ <h3 class="sectionTitle">Active Downloads</h3>
{ id: 'collections', label: 'Collections' },
{ id: 'playlists', label: 'Playlists' },
{ id: 'genres', label: 'Genres' },
{ id: 'seerr', label: 'Seerr' }
{ id: 'seerr', label: 'Seerr' },
{ id: 'external', label: 'External Lists' }
];

var HOME_LAYOUT_SEERR_TYPES = {
Expand All @@ -1822,13 +1848,41 @@ <h3 class="sectionTitle">Active Downloads</h3>
seerr_movie_genres: true,
seerr_studios: true,
seerr_series_genres: true,
seerr_networks: true
seerr_networks: true,
radarr_calendar: true,
sonarr_calendar: true
};

var HOME_LAYOUT_EXTERNAL_LISTS = {
imdb_top_250_movies: true,
imdb_top_250_tv_shows: true,
imdb_most_popular_movies: true,
imdb_most_popular_tv_shows: true,
imdb_lowest_rated_movies: true,
imdb_top_english_movies: true,
tmdb_popular_movies: true,
tmdb_top_rated_movies: true,
tmdb_now_playing_movies: true,
tmdb_upcoming_movies: true,
tmdb_popular_tv: true,
tmdb_top_rated_tv: true,
tmdb_airing_today_tv: true,
tmdb_on_the_air_tv: true,
tmdb_trending_movie_daily: true,
tmdb_trending_movie_weekly: true,
tmdb_trending_tv_daily: true,
tmdb_trending_tv_weekly: true,
tmdb_trending_all_weekly: true
};

function isSeerrHomeSectionType(type) {
return !!HOME_LAYOUT_SEERR_TYPES[type];
}

function isExternalHomeSectionType(type) {
return !!HOME_LAYOUT_EXTERNAL_LISTS[type];
}

var HOME_LAYOUT_STATE = {
sections: [],
selectedIndex: null,
Expand All @@ -1839,7 +1893,8 @@ <h3 class="sectionTitle">Active Downloads</h3>
collections: [],
playlists: [],
genres: [],
seerr: []
seerr: [],
external: [],
},
};

Expand All @@ -1859,7 +1914,7 @@ <h3 class="sectionTitle">Active Downloads</h3>
function homeSectionMeta(section) {
if (!section) return 'Basics';
if (section.kind !== 'pluginDynamic') {
return isSeerrHomeSectionType(section.type) ? 'Seerr' : 'Basics';
return isSeerrHomeSectionType(section.type) ? 'Seerr' : (isExternalHomeSectionType(section.type) ? 'External Lists' : 'Basics');
}
if (section.pluginSource === 'collections') return 'Collection';
if (section.pluginSource === 'playlists') return 'Playlist';
Expand All @@ -1870,6 +1925,7 @@ <h3 class="sectionTitle">Active Downloads</h3>
function homeSectionBadgeClass(section) {
if (!section || section.kind !== 'pluginDynamic') {
if (section && isSeerrHomeSectionType(section.type)) return 'homeLayoutBadge-seerr';
if (section && isExternalHomeSectionType(section.type)) return 'homeLayoutBadge-external';
return 'homeLayoutBadge-builtin';
}
if (section.pluginSource === 'collections') return 'homeLayoutBadge-collections';
Expand Down Expand Up @@ -1978,8 +2034,8 @@ <h3 class="sectionTitle">Active Downloads</h3>
key: 'builtin:' + definition.type,
tab: 'builtin',
label: definition.label,
meta: isSeerrHomeSectionType(definition.type) ? 'Seerr' : 'Basics',
badgeClass: isSeerrHomeSectionType(definition.type) ? 'homeLayoutBadge-seerr' : 'homeLayoutBadge-builtin',
meta: isSeerrHomeSectionType(definition.type) ? 'Seerr' : (isExternalHomeSectionType(definition.type) ? 'External Lists' : 'Basics'),
badgeClass: isSeerrHomeSectionType(definition.type) ? 'homeLayoutBadge-seerr' : (isExternalHomeSectionType(definition.type) ? 'homeLayoutBadge-external' : 'homeLayoutBadge-builtin'),
section: {
kind: 'builtin',
type: definition.type,
Expand Down Expand Up @@ -2012,11 +2068,14 @@ <h3 class="sectionTitle">Active Downloads</h3>

function initializeHomeLayoutAvailableRows() {
HOME_LAYOUT_STATE.available.builtin = HOME_SECTION_DEFINITIONS
.filter(function(definition) { return !isSeerrHomeSectionType(definition.type); })
.filter(function(definition) { return (!isSeerrHomeSectionType(definition.type) && !isExternalHomeSectionType(definition.type)); })
.map(createBuiltinCandidate);
HOME_LAYOUT_STATE.available.seerr = HOME_SECTION_DEFINITIONS
.filter(function(definition) { return isSeerrHomeSectionType(definition.type); })
.map(createBuiltinCandidate);
HOME_LAYOUT_STATE.available.external = HOME_SECTION_DEFINITIONS
.filter(function(definition) { return isExternalHomeSectionType(definition.type); })
.map(createBuiltinCandidate);
}

function getHomeLayoutInsertIndex() {
Expand Down Expand Up @@ -2747,7 +2806,6 @@ <h3 class="sectionTitle">Active Downloads</h3>
setNullableBoolSelect('#DefaultDisplayGenresRows', defaults.displayGenresRows);
setNullableBoolSelect('#DefaultDisplayPlaylistsRows', defaults.displayPlaylistsRows);
setNullableBoolSelect('#DefaultDisplayAudioRows', defaults.displayAudioRows);
setNullableBoolSelect('#DefaultDisplaySeerrRows', defaults.displaySeerrRows);
setSelectValue('#DefaultFavoritesRowSortBy', defaults.favoritesRowSortBy, 'Configured sort');
setSelectValue('#DefaultCollectionsRowSortBy', defaults.collectionsRowSortBy, 'Configured sort');
setSelectValue('#DefaultGenresRowSortBy', defaults.genresRowSortBy, 'Configured sort');
Expand Down Expand Up @@ -3127,7 +3185,6 @@ <h3 class="sectionTitle">Active Downloads</h3>
config.DefaultUserSettings.displayGenresRows = getNullableBoolSelect('#DefaultDisplayGenresRows');
config.DefaultUserSettings.displayPlaylistsRows = getNullableBoolSelect('#DefaultDisplayPlaylistsRows');
config.DefaultUserSettings.displayAudioRows = getNullableBoolSelect('#DefaultDisplayAudioRows');
config.DefaultUserSettings.displaySeerrRows = getNullableBoolSelect('#DefaultDisplaySeerrRows');
config.DefaultUserSettings.favoritesRowSortBy = document.querySelector('#DefaultFavoritesRowSortBy').value || null;
config.DefaultUserSettings.collectionsRowSortBy = document.querySelector('#DefaultCollectionsRowSortBy').value || null;
config.DefaultUserSettings.genresRowSortBy = document.querySelector('#DefaultGenresRowSortBy').value || null;
Expand Down
Loading