diff --git a/lib/core/routes/app_shell/mobile_shell_page.dart b/lib/core/routes/app_shell/mobile_shell_page.dart index 299b79d..5c995c9 100644 --- a/lib/core/routes/app_shell/mobile_shell_page.dart +++ b/lib/core/routes/app_shell/mobile_shell_page.dart @@ -92,10 +92,7 @@ class MobileShellPage extends StatelessWidget { width: 64.0.w(), height: 72.0.h(), child: Padding( - padding: - iconPath != AssetsManager.notify - ? EdgeInsets.only(top: 12.0.h(), bottom: 14.0.h()) - : EdgeInsets.only(top: 6.0.h(), bottom: 12.0.h()), + padding: EdgeInsets.only(top: 12.0.h(), bottom: 14.0.h()), child: Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ diff --git a/lib/views/detail/pages/detail_mobile_page.dart b/lib/views/detail/pages/detail_mobile_page.dart index 6fb9d0e..1d9c4d0 100644 --- a/lib/views/detail/pages/detail_mobile_page.dart +++ b/lib/views/detail/pages/detail_mobile_page.dart @@ -75,55 +75,50 @@ class _TenderDetailMobilePageState extends State { @override Widget build(BuildContext context) { - return Directionality( - textDirection: TextDirection.rtl, - child: Scaffold( - backgroundColor: AppColors.backgroundColor, - appBar: appBar( - context: context, - title: TenderDetailsStrings.tenderDetailTitle, - ), - body: Consumer( - builder: (context, tenderViewModel, child) { - if (tenderViewModel.isLoading) { - return const Center( - child: CircularProgressIndicator(color: AppColors.secondary50), - ); - } + return Scaffold( + backgroundColor: AppColors.backgroundColor, + appBar: appBar( + context: context, + title: TenderDetailsStrings.tenderDetailTitle, + ), + body: Consumer( + builder: (context, tenderViewModel, child) { + if (tenderViewModel.isLoading) { + return const Center( + child: CircularProgressIndicator(color: AppColors.secondary50), + ); + } - if (tenderViewModel.errorMessage != null) { - return Center(child: Text(tenderViewModel.errorMessage!)); - } + if (tenderViewModel.errorMessage != null) { + return Center(child: Text(tenderViewModel.errorMessage!)); + } - final detail = tenderViewModel.tenderDetail; - if (detail == null) { - return const Center( - child: Text(TenderDetailsStrings.tenderNoData), - ); - } + final detail = tenderViewModel.tenderDetail; + if (detail == null) { + return const Center(child: Text(TenderDetailsStrings.tenderNoData)); + } - return SafeArea( - child: SingleChildScrollView( - child: Padding( - padding: EdgeInsets.symmetric( - horizontal: 16.0.w(), - vertical: 16.0.h(), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - TenderDetailHeader(isScreenBig: false, detail: detail), - SizedBox(height: 24.0.h()), - TenderDetailCard(detail: detail), - SizedBox(height: 24.0.h()), - TenderDetailActions(isScreenBig: false, detail: detail), - ], - ), + return SafeArea( + child: SingleChildScrollView( + child: Padding( + padding: EdgeInsets.symmetric( + horizontal: 16.0.w(), + vertical: 16.0.h(), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + TenderDetailHeader(isScreenBig: false, detail: detail), + SizedBox(height: 24.0.h()), + TenderDetailCard(detail: detail), + SizedBox(height: 24.0.h()), + TenderDetailActions(isScreenBig: false, detail: detail), + ], ), ), - ); - }, - ), + ), + ); + }, ), ); } diff --git a/lib/views/notification/widgets/notification_card.dart b/lib/views/notification/widgets/notification_card.dart index ab98745..34542a6 100644 --- a/lib/views/notification/widgets/notification_card.dart +++ b/lib/views/notification/widgets/notification_card.dart @@ -6,7 +6,6 @@ import 'package:tm_app/core/theme/colors.dart'; import 'package:tm_app/core/utils/size_config.dart'; import 'package:tm_app/data/services/model/notification_data/notification_data.dart'; import 'package:tm_app/view_models/notification_view_model.dart'; -import 'package:tm_app/views/notification/strings/notification_strings.dart'; class NotificationCard extends StatelessWidget { final NotificationItem notification; @@ -20,72 +19,96 @@ class NotificationCard extends StatelessWidget { margin: EdgeInsets.symmetric(horizontal: 24.0.w()), padding: const EdgeInsets.all(16.0), decoration: BoxDecoration( - color: - notification.type == NotificationStrings.reject - ? AppColors.orange10 - : notification.type == NotificationStrings.info - ? AppColors.primary10Light - : AppColors.green0, + color: AppColors.primary10Light, + borderRadius: BorderRadius.circular(4), - border: Border.all( - color: - notification.type! == NotificationStrings.reject - ? AppColors.warningColor - : notification.type == NotificationStrings.info ? AppColors.primary20 : AppColors.green20, - ), + border: Border.all(color: AppColors.primary20), ), child: Row( crossAxisAlignment: CrossAxisAlignment.start, children: [ Padding( padding: EdgeInsets.only(top: 3.0.h()), - child: SvgPicture.asset( - notification.type! == NotificationStrings.info - ? AssetsManager.notification - : notification.type! == NotificationStrings.reject - ? AssetsManager.danger - : AssetsManager.tickCircle, - ), + child: SvgPicture.asset(AssetsManager.notification), ), SizedBox(width: 5.0.w()), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - notification.title!, - style: TextStyle( - fontSize: 16.0.sp(), - fontWeight: FontWeight.w600, - color: AppColors.grey80, - ), - ), - SizedBox(height: 8.0.h()), - Text( - notification.message!, - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: TextStyle( - fontSize: 14.0.sp(), - fontWeight: FontWeight.w400, - color: AppColors.grey70, - ), - ), - SizedBox(height: 8.0.h()), - Row( - children: [ - SvgPicture.asset(AssetsManager.calendar), - SizedBox(width: 4.0.w()), - Text( - viewModel.timeAgo(notification.createdAt!), - style: TextStyle( - fontSize: 12.0.sp(), - fontWeight: FontWeight.w400, - color: AppColors.grey60, + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + notification.title!, + style: TextStyle( + fontSize: 16.0.sp(), + fontWeight: FontWeight.w600, + color: AppColors.grey80, + ), ), + const Spacer(), + Visibility( + visible: notification.priority == 'important', + child: Container( + width: 86.0.w(), + height: 24.0.h(), + decoration: BoxDecoration( + color: AppColors.blue0, + borderRadius: BorderRadius.circular(8), + ), + alignment: Alignment.center, + child: Text( + 'Important', + style: TextStyle( + fontSize: 12.0.sp(), + fontWeight: FontWeight.w500, + color: AppColors.cyanTeal, + ), + ), + ), + ), + SizedBox(width: !notification.seen! ? 8.0.w() : 0), + !notification.seen! + ? Container( + width: 12.0.w(), + height: 12.0.w(), + decoration: const BoxDecoration( + shape: BoxShape.circle, + color: AppColors.mainBlue, + ), + ) + : const SizedBox(), + ], + ), + SizedBox(height: 8.0.h()), + Text( + notification.message!, + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: TextStyle( + fontSize: 14.0.sp(), + fontWeight: FontWeight.w400, + color: AppColors.grey70, ), - ], - ), - ], + ), + SizedBox(height: 8.0.h()), + Row( + children: [ + SvgPicture.asset(AssetsManager.calendar), + SizedBox(width: 4.0.w()), + Text( + viewModel.timeAgo(notification.createdAt!), + style: TextStyle( + fontSize: 12.0.sp(), + fontWeight: FontWeight.w400, + color: AppColors.grey60, + ), + ), + ], + ), + ], + ), ), ], ), diff --git a/lib/views/tenders/pages/m_tenders_page.dart b/lib/views/tenders/pages/m_tenders_page.dart index 44fbce5..f82e241 100644 --- a/lib/views/tenders/pages/m_tenders_page.dart +++ b/lib/views/tenders/pages/m_tenders_page.dart @@ -47,8 +47,10 @@ class _MobileTendersPageState extends State { child: Consumer( builder: (context, viewModel, child) { if (viewModel.isLoading) { - return const Center( - child: CircularProgressIndicator(color: AppColors.jellyBean), + return const Expanded( + child: Center( + child: CircularProgressIndicator(color: AppColors.jellyBean), + ), ); } if (viewModel.errorMessage != null) { diff --git a/lib/views/tenders/widgets/tender_card.dart b/lib/views/tenders/widgets/tender_card.dart index 1a67b2d..77f72c1 100644 --- a/lib/views/tenders/widgets/tender_card.dart +++ b/lib/views/tenders/widgets/tender_card.dart @@ -144,7 +144,7 @@ class TenderCard extends StatelessWidget { ), ), Text( - timeConvertor(tender.tenderDeadline ?? 0), + timeConvertor(tender.submissionDeadline ?? 0), style: TextStyle( color: AppColors.grey80, fontSize: 14.0.sp(),