Add pagination to importers
<!--IssueSummary start--> <details> <summary> Everyone can contribute. [Help move this issue forward](https://handbook.gitlab.com/handbook/marketing/developer-relations/contributor-success/community-contributors-workflows/#contributor-links) while earning points, leveling up and collecting rewards. </summary> - [Close this issue](https://contributors.gitlab.com/manage-issue?action=close&projectId=278964&issueIid=23247) </details> <!--IssueSummary end--> ### Problem to solve When we try to import a project from GitLab to a local instance, for example, we get all the projects from GitLab and show all of them in a list. For a user inside the `gitlab-org` that can be around minimum 600 projects. This has several implications. First, we don't make one request but severals to retrieve all projects. Each request, minimum 6 if we want to retrieve 600 projects, has its own latency and the user would have to wait a long time to show the project list (if it doesn't time out). Second, the list is just that, a regular list. The user experience for a 600 elements raw list isn't very good. If we implement a paginated list, the final throughoutput would be better and the user would get the list faster. We should also consider adding [filtering](https://gitlab.com/gitlab-org/gitlab-ce/issues/51260). ### Proposal 1. Add pagination to our importers, beginning with GitHub. 1. Pagination should follow the Pajamas UX and keep the list at 20 items per page with the page counter below. 1. The "Import all projects" button should still refer to all of the projects across all pages. * Change "Import all projects" to "Import all X projects" where X is the total number of projects across all pages (e.g. "Import all 493 projects").
issue