Feature Add Exclude Tags

pull/431/head
devi 2 years ago
parent a390e0de49
commit c602355e65

@ -20,10 +20,11 @@ sealed interface MangaListFilter {
data class Advanced( data class Advanced(
override val sortOrder: SortOrder, override val sortOrder: SortOrder,
@JvmField val tags: Set<MangaTag>, @JvmField val tags: Set<MangaTag>,
@JvmField val tagsExclude: Set<MangaTag>,
@JvmField val locale: Locale?, @JvmField val locale: Locale?,
@JvmField val states: Set<MangaState>, @JvmField val states: Set<MangaState>,
) : MangaListFilter { ) : MangaListFilter {
override fun isEmpty(): Boolean = tags.isEmpty() && locale == null && states.isEmpty() override fun isEmpty(): Boolean = tags.isEmpty() && tagsExclude.isEmpty() && locale == null && states.isEmpty()
} }
} }

@ -63,6 +63,10 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(
url.addQueryParameter("withCategories", filter.tags.joinToString(",") { it.key }) url.addQueryParameter("withCategories", filter.tags.joinToString(",") { it.key })
} }
if (filter.tagsExclude.isNotEmpty()) {
url.addQueryParameter("withoutCategories", filter.tagsExclude.joinToString(",") { it.key })
}
filter.states.oneOrThrowIfMany()?.let { filter.states.oneOrThrowIfMany()?.let {
url.addQueryParameter( url.addQueryParameter(
"state", "state",

Loading…
Cancel
Save