Navigate recommended tenders label to tab
continuous-integration/drone/push Build is passing

This commit is contained in:
AmirReza Jamali
2026-06-28 11:42:45 +03:30
parent 984f2e5139
commit 17ccd9d464
8 changed files with 97 additions and 38 deletions
+18 -10
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/routes/app_routes.dart';
@@ -67,7 +68,7 @@ class DesktopHomePage extends StatelessWidget {
),
),
SizedBox(height: 32.0.h()),
_yourTenderText(homeViewModel),
_yourTenderText(context, homeViewModel),
SizedBox(height: 8.0.h()),
_bottomListView(homeViewModel),
],
@@ -195,21 +196,28 @@ class DesktopHomePage extends StatelessWidget {
);
}
Widget _yourTenderText(HomeViewModel homeViewModel) {
Widget _yourTenderText(BuildContext context, HomeViewModel homeViewModel) {
final isYourTenders =
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
return ConstrainedBox(
constraints: const BoxConstraints(maxWidth: 740),
child: Align(
alignment: AlignmentDirectional.centerStart,
child: Text(
isYourTenders
? HomeStrings.yourTenders
: HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap:
isYourTenders
? null
: () => context.go('/tenders?tab=recommended'),
child: Text(
isYourTenders
? HomeStrings.yourTenders
: HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
),
),
),
),
+16 -10
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/constants/assets.dart';
import 'package:tm_app/core/routes/app_routes.dart';
@@ -50,7 +51,7 @@ class MobileHomePage extends StatelessWidget {
SizedBox(height: 8.0.h()),
_secondTenderCardsRow(homeViewModel, context),
SizedBox(height: 40.0.h()),
_yourTenderText(homeViewModel),
_yourTenderText(context, homeViewModel),
_bottomListView(homeViewModel),
],
),
@@ -169,19 +170,24 @@ class MobileHomePage extends StatelessWidget {
);
}
Widget _yourTenderText(HomeViewModel homeViewModel) {
Widget _yourTenderText(BuildContext context, HomeViewModel homeViewModel) {
final isYourTenders =
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
return Padding(
padding: EdgeInsets.symmetric(horizontal: 24.0.w()),
child: Text(
isYourTenders
? HomeStrings.yourTenders
: HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
child: GestureDetector(
behavior: HitTestBehavior.opaque,
onTap:
isYourTenders ? null : () => context.go('/tenders?tab=recommended'),
child: Text(
isYourTenders
? HomeStrings.yourTenders
: HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
),
),
),
);
+16 -8
View File
@@ -1,4 +1,5 @@
import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart';
import 'package:provider/provider.dart';
import 'package:tm_app/core/routes/app_routes.dart';
import 'package:tm_app/core/theme/colors.dart';
@@ -65,7 +66,7 @@ class TabletHomePage extends StatelessWidget {
SizedBox(height: 8.0.h()),
_secondTenderCardsRow(homeViewModel, context),
SizedBox(height: 32.0.h()),
_yourTenderText(homeViewModel),
_yourTenderText(context, homeViewModel),
SizedBox(height: 8.0.h()),
_bottomListView(homeViewModel),
],
@@ -201,15 +202,22 @@ class TabletHomePage extends StatelessWidget {
);
}
Widget _yourTenderText(HomeViewModel homeViewModel) {
Widget _yourTenderText(BuildContext context, HomeViewModel homeViewModel) {
final isYourTenders =
(homeViewModel.data?.data?.tenders?.isNotEmpty ?? false);
return Text(
isYourTenders ? HomeStrings.yourTenders : HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
return GestureDetector(
behavior: HitTestBehavior.opaque,
onTap:
isYourTenders ? null : () => context.go('/tenders?tab=recommended'),
child: Text(
isYourTenders
? HomeStrings.yourTenders
: HomeStrings.recommendedTenders,
style: TextStyle(
fontSize: 18.0.sp(),
fontWeight: FontWeight.w700,
color: AppColors.grey80,
),
),
);
}