Implement tender workflows and dashboard integration
continuous-integration/drone/push Build encountered an error

This commit is contained in:
AmirReza Jamali
2026-07-14 11:12:09 +03:30
parent ce170f9bc8
commit 72881df210
29 changed files with 1820 additions and 159 deletions
+19 -31
View File
@@ -5,7 +5,6 @@ import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/routes/app_routes.dart';
import 'package:tm_app/core/theme/colors.dart';
import 'package:tm_app/core/utils/size_config.dart';
import 'package:tm_app/data/services/model/tender_approvals_stats_response/tender_approvals_stats_response.dart';
import 'package:tm_app/view_models/home_view_model.dart';
import 'package:tm_app/views/shared/tender_app_bar.dart';
@@ -44,10 +43,7 @@ class MobileHomePage extends StatelessWidget {
SizedBox(height: 32.0.h()),
_progressBarsRow(homeViewModel),
SizedBox(height: 32.0.h()),
_firstTenderCardsRow(
context,
homeViewModel.tenderApprovalsStateResponse!,
),
_firstTenderCardsRow(context, homeViewModel),
SizedBox(height: 8.0.h()),
_secondTenderCardsRow(homeViewModel, context),
SizedBox(height: 40.0.h()),
@@ -93,7 +89,7 @@ class MobileHomePage extends StatelessWidget {
Widget _firstTenderCardsRow(
BuildContext context,
TenderApprovalsStatsResponse tenderApprovalsStateResponse,
HomeViewModel homeViewModel,
) {
return Padding(
padding: EdgeInsets.symmetric(horizontal: 24.0.w()),
@@ -104,9 +100,7 @@ class MobileHomePage extends StatelessWidget {
backgroundColor: AppColors.primary20,
iconPath: AssetsManager.arrows,
title: HomeStrings.tenderSubmitted,
amount:
(tenderApprovalsStateResponse.data?.submittedTenders ?? 0)
.toString(),
amount: homeViewModel.submittedTendersCount.toString(),
textColor: AppColors.mainBlue,
enableTap: true,
onTap: () {
@@ -119,7 +113,7 @@ class MobileHomePage extends StatelessWidget {
backgroundColor: AppColors.primary10,
iconPath: AssetsManager.approve,
title: HomeStrings.approvedTenders,
amount: '0',
amount: homeViewModel.approvedTendersCount.toString(),
textColor: AppColors.jellyBean,
enableTap: true,
@@ -143,27 +137,21 @@ class MobileHomePage extends StatelessWidget {
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
TenderCard(
backgroundColor: AppColors.orange10,
iconPath: AssetsManager.shield,
title: HomeStrings.tenderValue,
amount: '0',
textColor: AppColors.orange,
enableTap: false,
onTap: () {},
),
TenderCard(
backgroundColor: AppColors.grey10,
iconPath: AssetsManager.thumbLike,
title: HomeStrings.likedTenders,
amount: homeViewModel.userLikedTendersCount.toString(),
textColor: AppColors.grey50,
enableTap: true,
onTap: () {
const LikedTendersRouteData().push(context).then((value) {
homeViewModel.init();
});
},
Expanded(
child: TenderCard(
backgroundColor: AppColors.grey10,
iconPath: AssetsManager.thumbLike,
title: HomeStrings.likedTenders,
amount: homeViewModel.userLikedTendersCount.toString(),
textColor: AppColors.grey50,
enableTap: true,
width: double.infinity,
onTap: () {
const LikedTendersRouteData().push(context).then((value) {
homeViewModel.init();
});
},
),
),
],
),