fix: filter duplicate related entries using ID instead of URL

solve #120
This commit is contained in:
Cuong-Tran 2024-06-26 23:05:35 +07:00 committed by Tran M. Cuong
parent e25ff219eb
commit 780523b221

View file

@ -2050,15 +2050,15 @@ sealed interface RelatedManga {
}
internal fun List<RelatedManga>.removeDuplicates(manga: Manga): List<RelatedManga> {
val mangaUrls = HashSet<String>().apply { add(manga.url) }
val mangaIds = HashSet<Long>().apply { add(manga.id) }
return map { relatedManga ->
if (relatedManga is Success) {
Success(
relatedManga.keyword,
relatedManga.mangaList
.filterNot { mangaUrls.contains(it.url) }
.onEach { mangaUrls.add(it.url) },
.filterNot { mangaIds.contains(it.id) }
.onEach { mangaIds.add(it.id) },
)
} else {
relatedManga