fixed TendersCard height size for desktop

This commit is contained in:
llsajjad
2025-09-06 10:35:58 +03:30
parent 0d9f0251d8
commit ef34952988
7 changed files with 28 additions and 5 deletions
@@ -99,6 +99,7 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
return LikedDislikedTendersList( return LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'liked', status: 'liked',
isDesctop: true,
); );
} else if (viewModel.selectedStatus == } else if (viewModel.selectedStatus ==
YourTendersStrings.dislikeTenders && YourTendersStrings.dislikeTenders &&
@@ -106,10 +107,12 @@ class _YourTendersDesktopPageState extends State<YourTendersDesktopPage>
return LikedDislikedTendersList( return LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'disliked', status: 'disliked',
isDesctop: true,
); );
} else if (viewModel.data != null) { } else if (viewModel.data != null) {
return TendersSubmitted( return TendersSubmitted(
approvedTenders: viewModel.data!, approvedTenders: viewModel.data!,
isDesktop: true,
); );
} else { } else {
return const Center(child: Text('No data available')); return const Center(child: Text('No data available'));
@@ -63,6 +63,7 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage> {
child: LikedDislikedTendersList( child: LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'liked tenders', status: 'liked tenders',
isDesctop: false,
), ),
) )
else if (viewModel.selectedStatus == else if (viewModel.selectedStatus ==
@@ -72,12 +73,14 @@ class _YourTendersMobilePageState extends State<YourTendersMobilePage> {
child: LikedDislikedTendersList( child: LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'disliked', status: 'disliked',
isDesctop: false,
), ),
) )
else if (viewModel.data != null) else if (viewModel.data != null)
Expanded( Expanded(
child: TendersSubmitted( child: TendersSubmitted(
approvedTenders: viewModel.data!, approvedTenders: viewModel.data!,
isDesktop: false,
), ),
) )
else else
@@ -103,6 +103,7 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
return LikedDislikedTendersList( return LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'liked', status: 'liked',
isDesctop: false,
); );
} else if (viewModel.selectedStatus == } else if (viewModel.selectedStatus ==
YourTendersStrings.dislikeTenders && YourTendersStrings.dislikeTenders &&
@@ -110,9 +111,10 @@ class _YourTendersTabletPageState extends State<YourTendersTabletPage>
return LikedDislikedTendersList( return LikedDislikedTendersList(
data: viewModel.likedTendersData!, data: viewModel.likedTendersData!,
status: 'disliked', status: 'disliked',
isDesctop: false,
); );
} else if (viewModel.data != null) { } else if (viewModel.data != null) {
return TendersSubmitted(approvedTenders: viewModel.data!); return TendersSubmitted(approvedTenders: viewModel.data!,isDesktop: false,);
} else { } else {
return const Center(child: Text('No data available')); return const Center(child: Text('No data available'));
} }
@@ -6,9 +6,10 @@ import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
import '../../../data/services/model/your_tender_model/your_tender_model.dart'; import '../../../data/services/model/your_tender_model/your_tender_model.dart';
class ApprovedTenders extends StatelessWidget { class ApprovedTenders extends StatelessWidget {
const ApprovedTenders({required this.tendersSubmitted, super.key}); const ApprovedTenders({required this.tendersSubmitted,required this.isDesktop, super.key});
final List<YourTenderModel> tendersSubmitted; final List<YourTenderModel> tendersSubmitted;
final bool isDesktop;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -26,6 +27,7 @@ class ApprovedTenders extends StatelessWidget {
status: tender.status, status: tender.status,
countryCode: '', countryCode: '',
projectStatus: tender.projectStatus, projectStatus: tender.projectStatus,
isDesktop: isDesktop,
backgroundColor: backgroundColor:
tender.status == 'Won' tender.status == 'Won'
? AppColors.green0 ? AppColors.green0
@@ -9,10 +9,12 @@ import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
class LikedDislikedTendersList extends StatefulWidget { class LikedDislikedTendersList extends StatefulWidget {
final LikedTendersResponse data; final LikedTendersResponse data;
final String status; final String status;
final bool isDesctop;
const LikedDislikedTendersList({ const LikedDislikedTendersList({
required this.data, required this.data,
required this.status, required this.status,
required this.isDesctop,
super.key, super.key,
}); });
@@ -85,6 +87,7 @@ class _LikedDislikedTendersListState extends State<LikedDislikedTendersList> {
countryCode: feedback.tender!.countryCode ?? '', countryCode: feedback.tender!.countryCode ?? '',
status: feedback.tender!.status ?? '', status: feedback.tender!.status ?? '',
projectStatus: feedback.tender!.procurementTypeCode!, projectStatus: feedback.tender!.procurementTypeCode!,
isDesktop: widget.isDesctop,
), ),
); );
}, },
@@ -21,6 +21,7 @@ class TenderCard extends StatelessWidget {
final Color? statusCardColor; final Color? statusCardColor;
final Color? statusTextColor; final Color? statusTextColor;
final String countryCode; final String countryCode;
final bool isDesktop;
const TenderCard({ const TenderCard({
required this.date, required this.date,
@@ -28,6 +29,7 @@ class TenderCard extends StatelessWidget {
required this.description, required this.description,
required this.location, required this.location,
required this.countryCode, required this.countryCode,
required this.isDesktop,
this.countryFlag = 'assets/icons/SE.png', this.countryFlag = 'assets/icons/SE.png',
this.status = 'Completed', this.status = 'Completed',
this.projectStatus = 'Self Control', this.projectStatus = 'Self Control',
@@ -42,7 +44,7 @@ class TenderCard extends StatelessWidget {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
return Container( return Container(
height: 260.0.h(), height: isDesktop ? 182.0.h() : 240.0.h(),
width: double.infinity, width: double.infinity,
margin: EdgeInsets.only( margin: EdgeInsets.only(
left: 24.0.w(), left: 24.0.w(),
@@ -113,6 +115,8 @@ class TenderCard extends StatelessWidget {
// Title // Title
Text( Text(
title, title,
maxLines: 1,
overflow: TextOverflow.ellipsis,
style: TextStyle( style: TextStyle(
color: AppColors.grey80, color: AppColors.grey80,
fontSize: 16.0.sp(), fontSize: 16.0.sp(),
@@ -125,13 +129,13 @@ class TenderCard extends StatelessWidget {
// Description // Description
Text( Text(
description, description,
maxLines: isDesktop ? 2 : 3,
style: TextStyle( style: TextStyle(
color: AppColors.grey70, color: AppColors.grey70,
fontSize: 14.0.sp(), fontSize: 14.0.sp(),
fontWeight: FontWeight.w400, fontWeight: FontWeight.w400,
height: 1.4, height: 1.4,
), ),
maxLines: 3,
overflow: TextOverflow.ellipsis, overflow: TextOverflow.ellipsis,
), ),
Spacer(), Spacer(),
@@ -6,9 +6,14 @@ import 'package:tm_app/views/your_tenders/widgets/tender_card.dart';
import '../../../data/services/model/tender_approvals_response/tender_approvals_response.dart'; import '../../../data/services/model/tender_approvals_response/tender_approvals_response.dart';
class TendersSubmitted extends StatelessWidget { class TendersSubmitted extends StatelessWidget {
const TendersSubmitted({required this.approvedTenders, super.key}); const TendersSubmitted({
required this.approvedTenders,
required this.isDesktop,
super.key,
});
final TenderApprovalsResponse approvedTenders; final TenderApprovalsResponse approvedTenders;
final bool isDesktop;
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
@@ -28,6 +33,7 @@ class TendersSubmitted extends StatelessWidget {
status: tender.status, status: tender.status,
countryCode: tender.tender!.countryCode!, countryCode: tender.tender!.countryCode!,
projectStatus: tender.tender!.status!, projectStatus: tender.tender!.status!,
isDesktop: isDesktop,
backgroundColor: backgroundColor:
tender.status == 'Won' tender.status == 'Won'
? AppColors.green0 ? AppColors.green0