Revert "fix: Recently Added isn't updating correctly." (#852)

This commit is contained in:
Alex
2025-07-13 04:47:26 +10:00
committed by GitHub
parent 64e8514985
commit 53b43edc2a
4 changed files with 18 additions and 53 deletions

View File

@@ -367,15 +367,7 @@ const Page = () => {
className='mr-1' className='mr-1'
id={libraryId} id={libraryId}
queryKey='sortBy' queryKey='sortBy'
queryFn={async () => queryFn={async () => sortOptions.map((s) => s.key)}
sortOptions
.filter(
(s) =>
library?.CollectionType !== "movies" ||
s.key !== SortByOption.DateLastContentAdded,
)
.map((s) => s.key)
}
set={setSortBy} set={setSortBy}
values={sortBy} values={sortBy}
title={t("library.filters.sort_by")} title={t("library.filters.sort_by")}

View File

@@ -53,7 +53,6 @@ const SeriesPoster: React.FC<MoviePosterProps> = ({ item }) => {
width: "100%", width: "100%",
}} }}
/> />
{<WatchedIndicator item={item} />}
</View> </View>
); );
}; };

View File

@@ -213,43 +213,19 @@ export const HomeIndex = () => {
queryKey, queryKey,
queryFn: async () => { queryFn: async () => {
if (!api) return []; if (!api) return [];
return (
const response = await getItemsApi(api).getItems({ (
userId: user?.Id, await getUserLibraryApi(api).getLatestMedia({
limit: 40, userId: user?.Id,
recursive: true, limit: 20,
includeItemTypes, fields: ["PrimaryImageAspectRatio", "Path"],
sortBy: ["DateCreated"], imageTypeLimit: 1,
sortOrder: ["Descending"], enableImageTypes: ["Primary", "Backdrop", "Thumb"],
fields: ["PrimaryImageAspectRatio", "Path"], includeItemTypes,
parentId, parentId,
enableImageTypes: ["Primary", "Backdrop", "Thumb"], })
}); ).data || []
);
let items = response.data.Items || [];
if (includeItemTypes.includes("Episode")) {
// Removes individual episodes from the list if they are part of a series
// and only keeps the series item
// Note: The 'Latest' API endpoint does not work well with combining batch episode imports
// and will either only show the series or the episodes, not both.
// This is a workaround to filter out the episodes from the list
const seriesIds = new Set(
items.filter((i) => i.Type === "Series").map((i) => i.Id),
);
items = items.filter(
(i) =>
i.Type === "Series" ||
(i.Type === "Episode" && !seriesIds.has(i.SeriesId!)),
);
}
if (items.length > 20) {
items = items.slice(0, 20);
}
return items;
}, },
type: "ScrollingCollectionList", type: "ScrollingCollectionList",
}), }),
@@ -263,7 +239,7 @@ export const HomeIndex = () => {
const latestMediaViews = collections.map((c) => { const latestMediaViews = collections.map((c) => {
const includeItemTypes: BaseItemKind[] = const includeItemTypes: BaseItemKind[] =
c.CollectionType === "tvshows" ? ["Episode", "Series"] : ["Movie"]; c.CollectionType === "tvshows" ? ["Series"] : ["Movie"];
const title = t("home.recently_added_in", { libraryName: c.Name }); const title = t("home.recently_added_in", { libraryName: c.Name });
const queryKey = [ const queryKey = [
"home", "home",
@@ -389,10 +365,10 @@ export const HomeIndex = () => {
const response = await getTvShowsApi(api).getNextUp({ const response = await getTvShowsApi(api).getNextUp({
userId: user?.Id, userId: user?.Id,
fields: ["MediaSourceCount"], fields: ["MediaSourceCount"],
limit: section.nextUp?.limit || 25, limit: section.items?.limit || 25,
enableImageTypes: ["Primary", "Backdrop", "Thumb"], enableImageTypes: ["Primary", "Backdrop", "Thumb"],
enableResumable: section.nextUp?.enableResumable, enableResumable: section.items?.enableResumable,
enableRewatching: section.nextUp?.enableRewatching, enableRewatching: section.items?.enableRewatching,
}); });
return response.data.Items || []; return response.data.Items || [];
} }

View File

@@ -8,7 +8,6 @@ export enum SortByOption {
CommunityRating = "CommunityRating", CommunityRating = "CommunityRating",
CriticRating = "CriticRating", CriticRating = "CriticRating",
DateCreated = "DateCreated", DateCreated = "DateCreated",
DateLastContentAdded = "DateLastContentAdded",
DatePlayed = "DatePlayed", DatePlayed = "DatePlayed",
PlayCount = "PlayCount", PlayCount = "PlayCount",
ProductionYear = "ProductionYear", ProductionYear = "ProductionYear",
@@ -38,7 +37,6 @@ export const sortOptions: {
{ key: SortByOption.CommunityRating, value: "Community Rating" }, { key: SortByOption.CommunityRating, value: "Community Rating" },
{ key: SortByOption.CriticRating, value: "Critics Rating" }, { key: SortByOption.CriticRating, value: "Critics Rating" },
{ key: SortByOption.DateCreated, value: "Date Added" }, { key: SortByOption.DateCreated, value: "Date Added" },
{ key: SortByOption.DateLastContentAdded, value: "Date Episode Added" },
{ key: SortByOption.DatePlayed, value: "Date Played" }, { key: SortByOption.DatePlayed, value: "Date Played" },
{ key: SortByOption.PlayCount, value: "Play Count" }, { key: SortByOption.PlayCount, value: "Play Count" },
{ key: SortByOption.ProductionYear, value: "Production Year" }, { key: SortByOption.ProductionYear, value: "Production Year" },