Merge pull request 'fix home and tenders scrolling and no data problem in tenders' (#118) from tenders_fix into main
Reviewed-on: https://repo.ravanertebat.com/TM/tm_app/pulls/118
This commit is contained in:
@@ -94,11 +94,12 @@ class TendersViewModel with ChangeNotifier {
|
||||
}
|
||||
|
||||
Future<void> getTenders() async {
|
||||
clearAll(); // Clear all data before fetching new tenders
|
||||
_isLoading = true;
|
||||
notifyListeners();
|
||||
clearAll(); // Clear all data before fetching new tenders
|
||||
|
||||
_currentOffset = 0;
|
||||
_hasMoreData = true;
|
||||
notifyListeners();
|
||||
|
||||
final result = await _tendersRepository.getTenders(
|
||||
limit: _pageSize,
|
||||
|
||||
@@ -16,11 +16,19 @@ class DesktopHomePage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
body: Consumer<HomeViewModel>(
|
||||
body: Column(
|
||||
children: [
|
||||
DesktopNavigationWidget(
|
||||
currentIndex: 0, // Home index
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<HomeViewModel>(
|
||||
builder: (context, homeViewModel, child) {
|
||||
if (homeViewModel.isLoading) {
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(color: AppColors.secondary50),
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.secondary50,
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -32,12 +40,7 @@ class DesktopHomePage extends StatelessWidget {
|
||||
homeViewModel.data != null &&
|
||||
homeViewModel.feedbackStats != null) {
|
||||
return SingleChildScrollView(
|
||||
child: Column(
|
||||
children: [
|
||||
DesktopNavigationWidget(
|
||||
currentIndex: 0, // Home index
|
||||
),
|
||||
SizedBox(
|
||||
child: SizedBox(
|
||||
width: 780,
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.center,
|
||||
@@ -58,15 +61,18 @@ class DesktopHomePage extends StatelessWidget {
|
||||
],
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
return const Center(
|
||||
child: CircularProgressIndicator(color: AppColors.secondary50),
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.secondary50,
|
||||
),
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
@@ -81,6 +87,7 @@ class DesktopHomePage extends StatelessWidget {
|
||||
amount: homeViewModel.partnershipPercent.toString(),
|
||||
circularProgressIndicatorWidth: 176,
|
||||
circularProgressIndicatorHeight: 176,
|
||||
strokeWidth: 9,
|
||||
),
|
||||
SizedBox(width: 106),
|
||||
ProgressBarColumn(
|
||||
@@ -89,6 +96,7 @@ class DesktopHomePage extends StatelessWidget {
|
||||
amount: homeViewModel.selfApplyPercent.toString(),
|
||||
circularProgressIndicatorWidth: 176,
|
||||
circularProgressIndicatorHeight: 176,
|
||||
strokeWidth: 9,
|
||||
),
|
||||
],
|
||||
);
|
||||
|
||||
@@ -44,27 +44,33 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
|
||||
Widget build(BuildContext context) {
|
||||
return Scaffold(
|
||||
backgroundColor: AppColors.backgroundColor,
|
||||
body: SingleChildScrollView(
|
||||
body: Column(
|
||||
children: [
|
||||
DesktopNavigationWidget(
|
||||
currentIndex: 1, // Tenders index
|
||||
),
|
||||
Expanded(
|
||||
child: Consumer<TendersViewModel>(
|
||||
builder: (context, viewModel, child) {
|
||||
if (viewModel.isLoading) {
|
||||
return Center(
|
||||
child: CircularProgressIndicator(color: AppColors.jellyBean),
|
||||
return Expanded(
|
||||
child: Center(
|
||||
child: CircularProgressIndicator(
|
||||
color: AppColors.jellyBean,
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
if (viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) {
|
||||
if ((viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) &&
|
||||
viewModel.isLoading == false) {
|
||||
return Center(child: Text(CommonStrings.noData));
|
||||
}
|
||||
return Column(
|
||||
children: [
|
||||
DesktopNavigationWidget(
|
||||
currentIndex: 1, // Tenders index
|
||||
),
|
||||
SizedBox(
|
||||
return SingleChildScrollView(
|
||||
child: SizedBox(
|
||||
width: 740,
|
||||
height: 800,
|
||||
child: Padding(
|
||||
@@ -75,11 +81,12 @@ class _DesktopTendersPageState extends State<DesktopTendersPage> {
|
||||
),
|
||||
),
|
||||
),
|
||||
],
|
||||
);
|
||||
},
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,8 +57,9 @@ class _MobileTendersPageState extends State<MobileTendersPage> {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
|
||||
if (viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) {
|
||||
if ((viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) &&
|
||||
viewModel.isLoading == false) {
|
||||
return Center(child: Text(CommonStrings.noData));
|
||||
}
|
||||
|
||||
|
||||
@@ -45,8 +45,9 @@ class _TabletTendersPageState extends State<TabletTendersPage> {
|
||||
if (viewModel.errorMessage != null) {
|
||||
return Center(child: Text(viewModel.errorMessage!));
|
||||
}
|
||||
if (viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) {
|
||||
if ((viewModel.tendersResponse?.data?.tenders == null ||
|
||||
viewModel.tendersResponse!.data!.tenders!.isEmpty) &&
|
||||
viewModel.isLoading == false) {
|
||||
return Center(child: Text(CommonStrings.noData));
|
||||
}
|
||||
return Padding(
|
||||
|
||||
Reference in New Issue
Block a user