Refactor tenders pagination and enhance API integration

- Updated TendersRepository and TendersService to support cursor-based pagination.
- Modified TendersViewModel to manage pagination state and handle API responses more effectively.
- Replaced existing pagination UI components with a new WindowedPagination widget across desktop, mobile, and tablet views.
- Improved notification handling in the UI to reflect the presence of notifications dynamically.
- Adjusted main tenders slider to ensure proper rendering based on the current page index.
This commit is contained in:
AmirReza Jamali
2026-05-26 18:30:46 +03:30
parent 02057988dc
commit ae08b946f6
20 changed files with 927 additions and 652 deletions
+8 -2
View File
@@ -4,14 +4,20 @@ class TendersApi {
static const String tenders = '/api/v1/tenders';
static String getTenders({
required int limit,
required int offset,
int? offset,
String? cursor,
String? query,
String? sortBy,
String? sortOrder,
String? publicationDateFrom,
String? publicationDateTo,
}) {
String url = '$tenders?limit=$limit&offset=$offset';
String url = '$tenders?limit=$limit';
if (cursor != null && cursor.isNotEmpty) {
url += '&cursor=${Uri.encodeComponent(cursor)}';
} else if (offset != null) {
url += '&offset=$offset';
}
if (query != null && query.isNotEmpty) {
url += '&q=${Uri.encodeComponent(query)}';
}