mirror of
https://github.com/ranaldsgift/KefinTweaks.git
synced 2026-11-05 15:52:47 +01:00
Add support for minimum item count for Studio discovery sections and replaced Showtime with Paramount+ with Showtime in browse by studios section
This commit is contained in:
@@ -704,7 +704,7 @@
|
||||
{ name: 'New Line Cinema', file: 'New_Line_Cinema.svg' },
|
||||
{ name: 'Paramount Pictures', file: 'Paramount_Pictures.svg' },
|
||||
{ name: 'Pixar', file: 'Pixar.svg' },
|
||||
{ name: 'Showtime', file: 'Showtime.svg' },
|
||||
{ name: 'Paramount+ with Showtime', file: 'Paramount+_with_Showtime.svg' },
|
||||
{ name: 'Universal Pictures', file: 'Universal_Pictures.svg' },
|
||||
{ name: 'Walt Disney Pictures', file: 'Walt_Disney_Pictures.svg' },
|
||||
{ name: 'Warner Bros.', file: 'Warner_Bros..svg' },
|
||||
@@ -2573,6 +2573,8 @@ window.KefinTweaksConfig = ${JSON.stringify(configToBackup, null, 2)};`;
|
||||
${buildTextInput('discovery-spotlightDiscoveryChance', discovery.spotlightDiscoveryChance ?? 0.5, 'Spotlight Discovery Chance (0-1)', 'number')}
|
||||
${buildTextInput('discovery-minGenreMovieCount', discovery.minGenreMovieCount || 50, 'Genre Movie Count', 'number')}
|
||||
${buildTextInput('discovery-minGenreSeriesCount', discovery.minGenreSeriesCount || 10, 'Genre Series Count', 'number')}
|
||||
${buildTextInput('discovery-minStudioMovieCount', discovery.minStudioMovieCount || 25, 'Studio Movie Count', 'number')}
|
||||
${buildTextInput('discovery-minStudioSeriesCount', discovery.minStudioSeriesCount || 5, 'Studio Series Count', 'number')}
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
@@ -2904,6 +2906,8 @@ window.KefinTweaksConfig = ${JSON.stringify(configToBackup, null, 2)};`;
|
||||
infiniteScroll: root.querySelector('#discovery-infiniteScroll')?.checked !== false,
|
||||
minGenreMovieCount: parseInt(root.querySelector('#discovery-minGenreMovieCount')?.value || '50', 10),
|
||||
minGenreSeriesCount: parseInt(root.querySelector('#discovery-minGenreSeriesCount')?.value || '10', 10),
|
||||
minStudioMovieCount: parseInt(root.querySelector('#discovery-minStudioMovieCount')?.value || '25', 10),
|
||||
minStudioSeriesCount: parseInt(root.querySelector('#discovery-minStudioSeriesCount')?.value || '5', 10),
|
||||
spotlightDiscoveryChance: parseFloat(root.querySelector('#discovery-spotlightDiscoveryChance')?.value || '0.5'),
|
||||
renderSpotlightAboveMatching: root.querySelector('#discovery-renderSpotlightAboveMatching')?.checked === true,
|
||||
randomizeOrder: root.querySelector('#discovery-randomizeOrder')?.checked === true,
|
||||
|
||||
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 11 KiB |
@@ -2686,6 +2686,8 @@
|
||||
infiniteScroll: false,
|
||||
minGenreMovieCount: 50,
|
||||
minGenreSeriesCount: 10,
|
||||
minStudioMovieCount: 50,
|
||||
minStudioSeriesCount: 10,
|
||||
defaultItemLimit: 16,
|
||||
defaultSortOrder: "Random",
|
||||
defaultCardFormat: "Poster",
|
||||
|
||||
@@ -856,8 +856,13 @@
|
||||
}
|
||||
|
||||
if (discoveryType === 'Studio') {
|
||||
const settings = getDiscoverySettings();
|
||||
const minCount = itemType === 'Series'
|
||||
? (settings.minStudioSeriesCount ?? settings.minStudioMovieCount ?? 25)
|
||||
: (settings.minStudioMovieCount ?? 25);
|
||||
const countField = itemType === 'Series' ? 'SeriesCount' : 'MovieCount';
|
||||
const dedupe = getStudioDedupeSet(config);
|
||||
const eligible = pool.filter((s) => s?.Id && !dedupe.has(s.Id));
|
||||
const eligible = pool.filter((s) => s?.Id && !dedupe.has(s.Id) && (s[countField] || 0) > minCount);
|
||||
if (!eligible.length) return null;
|
||||
const selected = eligible[Math.floor(Math.random() * eligible.length)];
|
||||
dedupe.add(selected.Id);
|
||||
|
||||
Reference in New Issue
Block a user