Fixed Sorting

This commit is contained in:
MemeCornucopia 2024-01-30 17:12:14 -05:00
parent 81515528cb
commit 893e9e0ae6

View File

@ -87,6 +87,11 @@ export function progressResponsesToEntries(responses: ProgressResponse[]) {
}
const item = items[v.tmdbId];
// Update the item only if the new update is more recent than the current one
if (new Date(v.updatedAt).getTime() > item.updatedAt) {
item.updatedAt = new Date(v.updatedAt).getTime();
}
if (item.type === "movie") {
item.progress = {
duration: Number(v.duration),
@ -95,22 +100,29 @@ export function progressResponsesToEntries(responses: ProgressResponse[]) {
}
if (item.type === "show" && v.season.id && v.episode.id) {
item.seasons[v.season.id] = {
id: v.season.id,
number: v.season.number ?? 0,
title: "",
};
item.episodes[v.episode.id] = {
id: v.episode.id,
number: v.episode.number ?? 0,
title: "",
progress: {
duration: Number(v.duration),
watched: Number(v.watched),
},
seasonId: v.season.id,
updatedAt: new Date(v.updatedAt).getTime(),
};
if (
!item.seasons[v.season.id] ||
(item.episodes[v.episode.id] &&
new Date(v.updatedAt).getTime() >
item.episodes[v.episode.id].updatedAt)
) {
item.seasons[v.season.id] = {
id: v.season.id,
number: v.season.number ?? 0,
title: "",
};
item.episodes[v.episode.id] = {
id: v.episode.id,
number: v.episode.number ?? 0,
title: "",
progress: {
duration: Number(v.duration),
watched: Number(v.watched),
},
seasonId: v.season.id,
updatedAt: new Date(v.updatedAt).getTime(),
};
}
}
});