Add pagination everywhere
Describe the problem
Many pages include lists that may get quite long. For example /user/<name>. If a user has a lot of contributions, the page may be so big that it takes 2 minutes to load it.
Another example is the /projects/ page.
Describe the solution you'd like
Use pagination, as it is done on /screenshots, /user/, /changes.
Describe alternatives you've considered
In case of /user/<name>, make the contributions list a separate page.
Screenshots
No response
Additional context
Apparently mostly the views that are currently paginated are subclasses of ListView, but for /user/<name> there are multiple models. Can we do something like this for each tab: include {% include "paginator.html" with page_obj=user_translations %} and pass user_translations through get_paginator, like it's done in search.py and dashboard.py?:
https://github.com/WeblateOrg/weblate/blob/f0b4c8146b7c0663003ab04233c09f3cb8457119/weblate/trans/views/search.py#L216-L224
https://github.com/WeblateOrg/weblate/blob/a7c7f4dda757fab1f89f952e4daeeef9d359c052/weblate/trans/views/dashboard.py#L274-L284
If so, I'd like to try it.
I've added it to /projects/ in fc45f7f4e3f5eedb670918f3bfde7bfc53e82bd9.
For user view it is a bit more tricky because more tabs could get long and then paginating becomes tricky (you would have to pass different parameter to paginate each tab).
This issue has been put aside. It is currently unclear if it will ever be implemented as it seems to cover too narrow of a use case or doesn't seem to fit into Weblate.
Please try to clarify the use case or consider proposing something more generic to make it useful to more users.
The loading time for /user/* is bad, but elsewhere the non-pagination grants extra productivity. If I can turn it off for just me, all is well.
Another current offender of the absence of pages is /component-list/. Also (not related to this issue though) the default order of components in component list seems to be either random, or in the order of addition, didn't quite test it. In any case default A-Z order would be nice there. Or maybe even customizable default order.
@endervad Please file a separate issue for that.