Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Minor] Keep the main characters on top of the character list #155

Open
adarsh1001 opened this issue Jan 16, 2024 · 3 comments
Open

[Minor] Keep the main characters on top of the character list #155

adarsh1001 opened this issue Jan 16, 2024 · 3 comments
Assignees
Labels
api limited Not yet possible due to official API limitations bug Something isn't working

Comments

@adarsh1001
Copy link

Describe the bug (required)
The characters list on the details page seems to be in random order. If it's not possible to follow the sort order of MAL (which is like based), I think we should at least display the main characters first.

To Reproduce
Steps to reproduce the behavior:

  1. Open the app and search for "ore dake level up na ken".
  2. Open the details page for the anime and scroll down to Characters.
  3. The Main character is present towards the end of the list.
  4. For some anime with multiple main characters like in "Frieren", all main characters seem to be randomly distributed in the list.

Expected behavior
For the Main characters to be present on top of the list.

Screenshots
Screenshot_20240116-220123.png

Enviroment (required)

  • Device model: Nothing Phone (2)
  • Android version: 14
  • App version: 3.5.3

Additional context
Possible to follow the MAL sort order? It's sorted by the number of likes on each character, though I believe this data is not exposed to the API.
Screenshot_20240116-220403.png

@adarsh1001 adarsh1001 added the bug Something isn't working label Jan 16, 2024
@axiel7
Copy link
Owner

axiel7 commented Jan 17, 2024

Indeed the charcaters endpoint is not documented and probably under development so I can't do anything, that's why I marked it as beta.

Currently the only fields we can get are id,first_name,last_name,alternative_name,main_picture,biography.

Probably the API is sorting them by id

@axiel7 axiel7 added the api limited Not yet possible due to official API limitations label Jan 17, 2024
@adarsh1001
Copy link
Author

adarsh1001 commented Jan 17, 2024

@axiel7 The "Main" or "Supporting" text that we render under the characters must also be coming from the API right? I was thinking if we can identify the Main ones and bring them in front of the list... Or is my understanding not correct? 😅

@blackholeearth
Copy link
Contributor

blackholeearth commented Nov 14, 2024

solo leveling has 30 characters,, when you leave the limit field empty, it defaults to 10.
idk how did you get ScreenShot with The Main Guy in it.
CURRENTLY, it doesn't even show the Main Chars ,

toFix it: i set it to 40. its getting the main char.
//interestingly show has Just 1 Main Char

    suspend fun getAnimeCharacters(
        animeId: Int,
        limit: Int?,
        offset: Int?,
        fields: String?,
    ): Response<List<Character>> = client.get("${MAL_API_URL}anime/$animeId/characters") {
//        parameter("limit", limit)
        parameter("limit", 40)
        parameter("offset", offset)
        parameter("fields", fields)
    }.body()
    

fixed the sort issue by

return  data.orEmpty().sortedBy { it.role };

can make PR , in next hours.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api limited Not yet possible due to official API limitations bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants