public async Task OnGetAsync( [FromQuery] int page = 1, [FromQuery] string?q = null, [FromQuery] EClubSortingOptions sort = EClubSortingOptions.CreationDateDescending ) { Query = q; SortBy = sort; Clubs = await _clubRepo.SearchAndSortPaginatedClubCards(page, _config.ClubsPerPage, q, sort); var count = string.IsNullOrEmpty(q) ? await _clubRepo.CountClubs() : await _clubRepo.CountSearchedClubs(q); // Prepare pagination Pagination = new Pagination { PerPage = _config.ClubsPerPage, ItemCount = count, CurrentPage = page }; }