aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-15 05:42:27 -0800
committerFuwn <[email protected]>2023-12-15 05:42:27 -0800
commit2effd861c716bb90343e055d62c5ec737436cd40 (patch)
tree6855d528a845a4e870e1abf79d6016e57282358b /src/lib
parentfeat(media): use outbound mal id when available (diff)
downloaddue.moe-2effd861c716bb90343e055d62c5ec737436cd40.tar.xz
due.moe-2effd861c716bb90343e055d62c5ec737436cd40.zip
feat(media): #dueinclude
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/AniList/media.ts20
1 files changed, 13 insertions, 7 deletions
diff --git a/src/lib/AniList/media.ts b/src/lib/AniList/media.ts
index d0635b6c..dcbefdaa 100644
--- a/src/lib/AniList/media.ts
+++ b/src/lib/AniList/media.ts
@@ -67,18 +67,24 @@ export const flattenLists = (lists: { name: string; entries: { media: Media }[]
const flattenedList: Media[] = [];
const ignoredMediaIds: number[] = [];
+ const processedList = (list: Media[]) =>
+ list
+ .filter((media) => !ignoredMediaIds.includes(media.id))
+ .filter(
+ (item, index, self) =>
+ self.findIndex((itemToCompare) => itemToCompare.id === item.id) === index
+ );
+
+ for (const list of lists) {
+ if (list.name.toLowerCase().includes('#dueinclude'))
+ return processedList(list.entries.map((entry) => entry.media));
- for (const list of lists)
if (list.name.toLowerCase().includes('#dueignore'))
ignoredMediaIds.push(...list.entries.map((entry) => entry.media.id));
else flattenedList.push(...list.entries.map((entry) => entry.media));
+ }
- return flattenedList
- .filter((media) => !ignoredMediaIds.includes(media.id))
- .filter(
- (item, index, self) =>
- self.findIndex((itemToCompare) => itemToCompare.id === item.id) === index
- );
+ return processedList(flattenedList);
};
const collectionQueryTemplate = (type: Type, userId: number, includeCompleted: boolean) =>