fixed home
This commit is contained in:
@@ -9,6 +9,7 @@ import '../../view_models/home_view_model.dart';
|
||||
/// Wraps screens that need HomeViewModel
|
||||
Widget homeProvider({required Widget child}) {
|
||||
return ChangeNotifierProvider(
|
||||
lazy: true,
|
||||
create:
|
||||
(context) => HomeViewModel(
|
||||
homeRepository: context.read<HomeRepository>(),
|
||||
|
||||
@@ -37,6 +37,7 @@ class TendersService {
|
||||
method: 'GET',
|
||||
(json) => TendersResponse.fromJson(json),
|
||||
);
|
||||
print(result);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@@ -159,7 +159,7 @@ class HomeViewModel with ChangeNotifier {
|
||||
);
|
||||
_currentPage++;
|
||||
|
||||
if (metadata != null && (_currentPage >= metadata.pages!)) {
|
||||
if (metadata != null && (_currentPage >= (metadata.pages ?? 0))) {
|
||||
_hasMore = false;
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -128,10 +128,11 @@ class DesktopHomePage extends StatelessWidget {
|
||||
iconPath: AssetsManager.arrows,
|
||||
title: HomeStrings.tenderSubmitted,
|
||||
amount:
|
||||
homeViewModel
|
||||
.tenderApprovalsStateResponse!
|
||||
.data!
|
||||
.submittedTenders
|
||||
(homeViewModel
|
||||
.tenderApprovalsStateResponse
|
||||
?.data
|
||||
?.submittedTenders ??
|
||||
0)
|
||||
.toString(),
|
||||
|
||||
textColor: AppColors.mainBlue,
|
||||
@@ -195,7 +196,7 @@ class DesktopHomePage extends StatelessWidget {
|
||||
|
||||
Widget _yourTenderText(HomeViewModel homeViewModel) {
|
||||
final isYourTenders =
|
||||
homeViewModel.data?.data?.tenders!.isNotEmpty ?? false;
|
||||
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
|
||||
return ConstrainedBox(
|
||||
constraints: const BoxConstraints(maxWidth: 740),
|
||||
child: Align(
|
||||
@@ -244,7 +245,7 @@ class DesktopHomePage extends StatelessWidget {
|
||||
tender: homeViewModel.tenders[index],
|
||||
onTap: () {
|
||||
TenderDetailRouteData(
|
||||
tenderId: homeViewModel.tenders[index].id!,
|
||||
tenderId: homeViewModel.tenders[index].id ?? '',
|
||||
).push(context);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -105,7 +105,8 @@ class MobileHomePage extends StatelessWidget {
|
||||
iconPath: AssetsManager.arrows,
|
||||
title: HomeStrings.tenderSubmitted,
|
||||
amount:
|
||||
tenderApprovalsStateResponse.data!.submittedTenders.toString(),
|
||||
(tenderApprovalsStateResponse.data?.submittedTenders ?? 0)
|
||||
.toString(),
|
||||
textColor: AppColors.mainBlue,
|
||||
enableTap: true,
|
||||
onTap: () {
|
||||
@@ -171,7 +172,7 @@ class MobileHomePage extends StatelessWidget {
|
||||
|
||||
Widget _yourTenderText(HomeViewModel homeViewModel) {
|
||||
final isYourTenders =
|
||||
homeViewModel.data?.data?.tenders!.isNotEmpty ?? false;
|
||||
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
|
||||
return Padding(
|
||||
padding: EdgeInsets.symmetric(horizontal: 24.0.w()),
|
||||
child: Text(
|
||||
@@ -220,7 +221,7 @@ class MobileHomePage extends StatelessWidget {
|
||||
tender: homeViewModel.tenders[index],
|
||||
onTap: () {
|
||||
TenderDetailRouteData(
|
||||
tenderId: homeViewModel.tenders[index].id!,
|
||||
tenderId: homeViewModel.tenders[index].id ?? '',
|
||||
).push(context);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -124,7 +124,8 @@ class TabletHomePage extends StatelessWidget {
|
||||
iconPath: AssetsManager.arrows,
|
||||
title: HomeStrings.tenderSubmitted,
|
||||
amount:
|
||||
tenderApprovalsStateResponse.data!.submittedTenders.toString(),
|
||||
(tenderApprovalsStateResponse.data?.submittedTenders ?? 0)
|
||||
.toString(),
|
||||
|
||||
textColor: AppColors.mainBlue,
|
||||
enableTap: true,
|
||||
@@ -201,7 +202,7 @@ class TabletHomePage extends StatelessWidget {
|
||||
|
||||
Widget _yourTenderText(HomeViewModel homeViewModel) {
|
||||
final isYourTenders =
|
||||
homeViewModel.data?.data?.tenders!.isNotEmpty ?? false;
|
||||
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
|
||||
return Text(
|
||||
isYourTenders ? HomeStrings.yourTenders : HomeStrings.recommendedTenders,
|
||||
style: TextStyle(
|
||||
@@ -241,7 +242,7 @@ class TabletHomePage extends StatelessWidget {
|
||||
tender: homeViewModel.tenders[index],
|
||||
onTap: () {
|
||||
TenderDetailRouteData(
|
||||
tenderId: homeViewModel.tenders[index].id!,
|
||||
tenderId: homeViewModel.tenders[index].id ?? '',
|
||||
).push(context);
|
||||
},
|
||||
);
|
||||
|
||||
@@ -34,7 +34,7 @@ class TendersListItem extends StatelessWidget {
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: Text(
|
||||
timeConvertor(tender.publicationDate!),
|
||||
timeConvertor(tender.publicationDate ?? 0),
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
@@ -64,7 +64,7 @@ class TendersListItem extends StatelessWidget {
|
||||
),
|
||||
),
|
||||
Text(
|
||||
timeConvertor(tender.tenderDeadline!),
|
||||
timeConvertor(tender.tenderDeadline ?? 0),
|
||||
style: TextStyle(
|
||||
fontSize: 14.0.sp(),
|
||||
fontWeight: FontWeight.w500,
|
||||
@@ -76,7 +76,7 @@ class TendersListItem extends StatelessWidget {
|
||||
),
|
||||
SizedBox(height: 12.0.h()),
|
||||
Text(
|
||||
tender.title!,
|
||||
tender.title ?? '',
|
||||
style: TextStyle(
|
||||
overflow: TextOverflow.ellipsis,
|
||||
fontSize: 16.0.sp(),
|
||||
@@ -88,7 +88,7 @@ class TendersListItem extends StatelessWidget {
|
||||
SizedBox(
|
||||
width: double.infinity,
|
||||
child: Text(
|
||||
tender.description!,
|
||||
tender.description ?? '',
|
||||
textAlign: TextAlign.start,
|
||||
maxLines: 4,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
@@ -110,7 +110,7 @@ class TendersListItem extends StatelessWidget {
|
||||
SvgPicture.asset(AssetsManager.location),
|
||||
SizedBox(width: 1.0.w()),
|
||||
Text(
|
||||
tender.countryCode!,
|
||||
tender.countryCode ?? '',
|
||||
style: TextStyle(
|
||||
fontSize: 12.0.sp(),
|
||||
fontWeight: FontWeight.w400,
|
||||
|
||||
Reference in New Issue
Block a user