58 lines
1.9 KiB
Dart
58 lines
1.9 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:onufitness/constants/color_constant.dart';
|
|
import 'package:onufitness/constants/text_constant.dart';
|
|
import 'package:onufitness/screens/echoboard/controllers/connection_and_tribe_controller.dart';
|
|
|
|
Widget showsUserListPagination(SocialConnectionController controller) {
|
|
return Obx(() {
|
|
// Get the correct total count and calculate total pages
|
|
final totalCount = controller.usersData.value?.data?.totalCount ?? 0;
|
|
final totalPages =
|
|
totalCount > 0 ? (totalCount / controller.pageSize).ceil() : 1;
|
|
|
|
if (totalCount == 0 || totalCount < 1) {
|
|
return Container();
|
|
}
|
|
|
|
return Container(
|
|
padding: const EdgeInsets.symmetric(vertical: 15),
|
|
color: pageBackGroundColor,
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: [
|
|
IconButton(
|
|
icon: Icon(Icons.chevron_left, size: veryVeryLargeSizeText),
|
|
onPressed:
|
|
controller.currentPage.value > 1
|
|
? () => controller.onPageChanged(
|
|
controller.currentPage.value - 1,
|
|
)
|
|
: null,
|
|
),
|
|
SizedBox(width: 10.w),
|
|
Text(
|
|
'Page ${controller.currentPage.value} of $totalPages',
|
|
style: TextStyle(
|
|
fontWeight: FontWeight.w600,
|
|
fontSize: regularSizeText,
|
|
),
|
|
),
|
|
|
|
SizedBox(width: 10.w),
|
|
IconButton(
|
|
icon: Icon(Icons.chevron_right, size: veryVeryLargeSizeText),
|
|
onPressed:
|
|
controller.currentPage.value < totalPages
|
|
? () => controller.onPageChanged(
|
|
controller.currentPage.value + 1,
|
|
)
|
|
: null,
|
|
),
|
|
],
|
|
),
|
|
);
|
|
});
|
|
}
|