From 0d9f0251d8efd4fadd0a98b147742db09e847a1d Mon Sep 17 00:00:00 2001 From: llsajjad Date: Sat, 6 Sep 2025 10:17:12 +0330 Subject: [PATCH 1/2] fixed dark mood in filter dialog fixed TendersCard height --- lib/views/your_tenders/widgets/filter_button.dart | 5 +++-- lib/views/your_tenders/widgets/tender_card.dart | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/lib/views/your_tenders/widgets/filter_button.dart b/lib/views/your_tenders/widgets/filter_button.dart index 8bc3de2..7493ff5 100644 --- a/lib/views/your_tenders/widgets/filter_button.dart +++ b/lib/views/your_tenders/widgets/filter_button.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:tm_app/core/theme/colors.dart'; import 'package:tm_app/views/your_tenders/strings/your_tenders_strings.dart'; import 'tenders_filter_dialog.dart'; @@ -14,7 +15,7 @@ class FilterButton extends StatelessWidget { showModalBottomSheet( context: context, isScrollControlled: true, - backgroundColor: Colors.white, + backgroundColor: AppColors.backgroundColor, shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical(top: Radius.circular(20)), ), @@ -25,7 +26,7 @@ class FilterButton extends StatelessWidget { context: context, builder: (_) => Dialog( - backgroundColor: Colors.white, + backgroundColor: AppColors.backgroundColor, shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(16), ), diff --git a/lib/views/your_tenders/widgets/tender_card.dart b/lib/views/your_tenders/widgets/tender_card.dart index 8beade1..a82a1bb 100644 --- a/lib/views/your_tenders/widgets/tender_card.dart +++ b/lib/views/your_tenders/widgets/tender_card.dart @@ -42,6 +42,7 @@ class TenderCard extends StatelessWidget { @override Widget build(BuildContext context) { return Container( + height: 260.0.h(), width: double.infinity, margin: EdgeInsets.only( left: 24.0.w(), @@ -133,8 +134,7 @@ class TenderCard extends StatelessWidget { maxLines: 3, overflow: TextOverflow.ellipsis, ), - SizedBox(height: 24.0.h()), - + Spacer(), // Bottom section with location and action button Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, From ef349529884fa46faa41580b67e295178c3b4642 Mon Sep 17 00:00:00 2001 From: llsajjad Date: Sat, 6 Sep 2025 10:35:58 +0330 Subject: [PATCH 2/2] fixed TendersCard height size for desktop --- .../your_tenders/pages/your_tenders_desktop_page.dart | 3 +++ .../your_tenders/pages/your_tenders_mobile_page.dart | 3 +++ .../your_tenders/pages/your_tenders_tablet_page.dart | 4 +++- lib/views/your_tenders/widgets/approved_tenders.dart | 4 +++- .../your_tenders/widgets/liked_disliked_tenders_list.dart | 3 +++ lib/views/your_tenders/widgets/tender_card.dart | 8 ++++++-- lib/views/your_tenders/widgets/tenders_submitted.dart | 8 +++++++- 7 files changed, 28 insertions(+), 5 deletions(-) diff --git a/lib/views/your_tenders/pages/your_tenders_desktop_page.dart b/lib/views/your_tenders/pages/your_tenders_desktop_page.dart index a0226a3..1009839 100644 --- a/lib/views/your_tenders/pages/your_tenders_desktop_page.dart +++ b/lib/views/your_tenders/pages/your_tenders_desktop_page.dart @@ -99,6 +99,7 @@ class _YourTendersDesktopPageState extends State return LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'liked', + isDesctop: true, ); } else if (viewModel.selectedStatus == YourTendersStrings.dislikeTenders && @@ -106,10 +107,12 @@ class _YourTendersDesktopPageState extends State return LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'disliked', + isDesctop: true, ); } else if (viewModel.data != null) { return TendersSubmitted( approvedTenders: viewModel.data!, + isDesktop: true, ); } else { return const Center(child: Text('No data available')); diff --git a/lib/views/your_tenders/pages/your_tenders_mobile_page.dart b/lib/views/your_tenders/pages/your_tenders_mobile_page.dart index d5ed809..9a4e065 100644 --- a/lib/views/your_tenders/pages/your_tenders_mobile_page.dart +++ b/lib/views/your_tenders/pages/your_tenders_mobile_page.dart @@ -63,6 +63,7 @@ class _YourTendersMobilePageState extends State { child: LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'liked tenders', + isDesctop: false, ), ) else if (viewModel.selectedStatus == @@ -72,12 +73,14 @@ class _YourTendersMobilePageState extends State { child: LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'disliked', + isDesctop: false, ), ) else if (viewModel.data != null) Expanded( child: TendersSubmitted( approvedTenders: viewModel.data!, + isDesktop: false, ), ) else diff --git a/lib/views/your_tenders/pages/your_tenders_tablet_page.dart b/lib/views/your_tenders/pages/your_tenders_tablet_page.dart index 93dc429..64cc1e3 100644 --- a/lib/views/your_tenders/pages/your_tenders_tablet_page.dart +++ b/lib/views/your_tenders/pages/your_tenders_tablet_page.dart @@ -103,6 +103,7 @@ class _YourTendersTabletPageState extends State return LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'liked', + isDesctop: false, ); } else if (viewModel.selectedStatus == YourTendersStrings.dislikeTenders && @@ -110,9 +111,10 @@ class _YourTendersTabletPageState extends State return LikedDislikedTendersList( data: viewModel.likedTendersData!, status: 'disliked', + isDesctop: false, ); } else if (viewModel.data != null) { - return TendersSubmitted(approvedTenders: viewModel.data!); + return TendersSubmitted(approvedTenders: viewModel.data!,isDesktop: false,); } else { return const Center(child: Text('No data available')); } diff --git a/lib/views/your_tenders/widgets/approved_tenders.dart b/lib/views/your_tenders/widgets/approved_tenders.dart index f98e1fb..e663715 100644 --- a/lib/views/your_tenders/widgets/approved_tenders.dart +++ b/lib/views/your_tenders/widgets/approved_tenders.dart @@ -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'; class ApprovedTenders extends StatelessWidget { - const ApprovedTenders({required this.tendersSubmitted, super.key}); + const ApprovedTenders({required this.tendersSubmitted,required this.isDesktop, super.key}); final List tendersSubmitted; + final bool isDesktop; @override Widget build(BuildContext context) { @@ -26,6 +27,7 @@ class ApprovedTenders extends StatelessWidget { status: tender.status, countryCode: '', projectStatus: tender.projectStatus, + isDesktop: isDesktop, backgroundColor: tender.status == 'Won' ? AppColors.green0 diff --git a/lib/views/your_tenders/widgets/liked_disliked_tenders_list.dart b/lib/views/your_tenders/widgets/liked_disliked_tenders_list.dart index 587bac6..0ac7df5 100644 --- a/lib/views/your_tenders/widgets/liked_disliked_tenders_list.dart +++ b/lib/views/your_tenders/widgets/liked_disliked_tenders_list.dart @@ -9,10 +9,12 @@ import 'package:tm_app/views/your_tenders/widgets/tender_card.dart'; class LikedDislikedTendersList extends StatefulWidget { final LikedTendersResponse data; final String status; + final bool isDesctop; const LikedDislikedTendersList({ required this.data, required this.status, + required this.isDesctop, super.key, }); @@ -85,6 +87,7 @@ class _LikedDislikedTendersListState extends State { countryCode: feedback.tender!.countryCode ?? '', status: feedback.tender!.status ?? '', projectStatus: feedback.tender!.procurementTypeCode!, + isDesktop: widget.isDesctop, ), ); }, diff --git a/lib/views/your_tenders/widgets/tender_card.dart b/lib/views/your_tenders/widgets/tender_card.dart index a82a1bb..7d8f163 100644 --- a/lib/views/your_tenders/widgets/tender_card.dart +++ b/lib/views/your_tenders/widgets/tender_card.dart @@ -21,6 +21,7 @@ class TenderCard extends StatelessWidget { final Color? statusCardColor; final Color? statusTextColor; final String countryCode; + final bool isDesktop; const TenderCard({ required this.date, @@ -28,6 +29,7 @@ class TenderCard extends StatelessWidget { required this.description, required this.location, required this.countryCode, + required this.isDesktop, this.countryFlag = 'assets/icons/SE.png', this.status = 'Completed', this.projectStatus = 'Self Control', @@ -42,7 +44,7 @@ class TenderCard extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 260.0.h(), + height: isDesktop ? 182.0.h() : 240.0.h(), width: double.infinity, margin: EdgeInsets.only( left: 24.0.w(), @@ -113,6 +115,8 @@ class TenderCard extends StatelessWidget { // Title Text( title, + maxLines: 1, + overflow: TextOverflow.ellipsis, style: TextStyle( color: AppColors.grey80, fontSize: 16.0.sp(), @@ -125,13 +129,13 @@ class TenderCard extends StatelessWidget { // Description Text( description, + maxLines: isDesktop ? 2 : 3, style: TextStyle( color: AppColors.grey70, fontSize: 14.0.sp(), fontWeight: FontWeight.w400, height: 1.4, ), - maxLines: 3, overflow: TextOverflow.ellipsis, ), Spacer(), diff --git a/lib/views/your_tenders/widgets/tenders_submitted.dart b/lib/views/your_tenders/widgets/tenders_submitted.dart index 7ed9500..f357642 100644 --- a/lib/views/your_tenders/widgets/tenders_submitted.dart +++ b/lib/views/your_tenders/widgets/tenders_submitted.dart @@ -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'; 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 bool isDesktop; @override Widget build(BuildContext context) { @@ -28,6 +33,7 @@ class TendersSubmitted extends StatelessWidget { status: tender.status, countryCode: tender.tender!.countryCode!, projectStatus: tender.tender!.status!, + isDesktop: isDesktop, backgroundColor: tender.status == 'Won' ? AppColors.green0