marioplus 334dd69fab
Add Source PornPics (#8364)
* feat(pornpics): add source pornpics

* feat(pornpics): add i18n support

* fix(pornpics): Default category read error

* fix(pornpics): Content-Type is not set correctly

* fix(pornpics): properly handle searches

* fix(pornpics): properly handle searches

* fix(pornpics): correct next page detection logic.

Add +1 to requested image count per page,Compare actual received count with pageSize to determine next page.

* fix(pornpics): set base language to en

* fix(pornpics): safely handle gallery info parsing

* feat(pornpics): add filter

* chore(pornpics): remove unused dependency

* fix(pornpics): correct category urlPart values.

* refactor(pornpics): simplify category browsing logic

- Remove category unselected
- Treat all non-search requests as category browsing

* refactor(pornpics): make a singelton object and remove comanion object

* refactor(pornpics): put in class to reuse preference

* refactor(pornpics): optimize chapter loading with fetchChapterList

- Replace chapterFromElement with fetchChapterList
- Reduce unnecessary network requests

* fix(pornpics): correct CategoryType initialization

* refactor(pornpics): improve method naming

- Rename `addQueryPageParameter` to `addQueryParameterPage` for clarity

* refactor(pornpics): improve API readability with boolean parameters

- Change `buildMangasPageRequest(page: Int, period: Int)` to:
  `buildMangasPageRequest(page: Int, popular: Boolean)`
- Replace numeric period flag with semantic boolean
- Simplify request building logic

* refactor(pornpics): extract category search logic to dedicated method

- Extract `useSearch` as standalone method
- Add enhanced validation logic for category search

* refactor(pornpics): replace manual parsing with HttpUrl

- Replace custom URL parsing logic with HttpUrl utility

* fix(pornpics): remove invalid category options

* refactor(pornpics): improve JSON error handling

- Throw specific exception type when JSON parsing fails
2025-05-20 21:26:53 +01:00

12 KiB
192x192px