diff --git a/assets/langs/ar-SA.json b/assets/langs/ar-SA.json index 91e9eac..5cb1115 100644 --- a/assets/langs/ar-SA.json +++ b/assets/langs/ar-SA.json @@ -720,7 +720,7 @@ "ownerInformation": "معلومات المالك", "acceptedRequests": "الطلبات المقبولة", "specialRequestChat": "دردشة الطلب الخاص", - "companyName": "اسم الشركة *", + "companyName": "اسم الشركة", "noAvailableItems": "لا توجد عناصر متاحة.", "serviceDeliveryType": "نوع تقديم الخدمة", "noImagesToShow": "لا توجد صور للعرض", diff --git a/assets/langs/en-US.json b/assets/langs/en-US.json index 3d3f972..865ef94 100644 --- a/assets/langs/en-US.json +++ b/assets/langs/en-US.json @@ -714,7 +714,7 @@ "noItemsToShow": "There are no Items no show.", "acceptedRequests": "Accepted Requests", "specialRequestChat": "Special Request Chat", - "companyName": "Company Name *", + "companyName": "Company Name", "noAvailableItems": "There are no available items.", "serviceDeliveryType": "Service Delivery Type", "noImagesToShow": "No Images to Show", diff --git a/lib/classes/consts.dart b/lib/classes/consts.dart index 736aabb..7f9ee48 100644 --- a/lib/classes/consts.dart +++ b/lib/classes/consts.dart @@ -261,6 +261,8 @@ class GlobalConsts { static int maxFileCount = 7; static int maxFileSizeInBytes = 2 * 1024 * 1024; + static String allowedFileExtensions = "jpg,png - 2MB"; + static String allowedFileExtensionsPDF = "PDF 2MB"; static int providerDealerRoleTypeId = 6; static int providerIndividualRoleTypeId = 5; diff --git a/lib/view_models/chat_view_model.dart b/lib/view_models/chat_view_model.dart index 4992362..9f7ea92 100644 --- a/lib/view_models/chat_view_model.dart +++ b/lib/view_models/chat_view_model.dart @@ -388,7 +388,7 @@ class ChatVM extends BaseVM { "ServiceItem": serviceItemName, "ReqOfferImages": offerImages, "OfferedItemCreatedByName": manufacturedByName, - // "OfferedItemCreatedOn": manufacturedOn, // TODO: This should be in String on Server, Right now it is in DateTime + "OfferedItemCreatedOn": manufacturedOn, // TODO: This should be in String on Server, Right now it is in DateTime "ServiceProviderID": providerId, "OfferStatus": RequestOfferStatusEnum.offer.getIdFromRequestOfferStatusEnum(), "Comment": message, diff --git a/lib/views/advertisement/ad_creation_steps/ad_creation_steps_containers.dart b/lib/views/advertisement/ad_creation_steps/ad_creation_steps_containers.dart index f0a5a6c..93e66ec 100644 --- a/lib/views/advertisement/ad_creation_steps/ad_creation_steps_containers.dart +++ b/lib/views/advertisement/ad_creation_steps/ad_creation_steps_containers.dart @@ -1,7 +1,9 @@ import 'package:flutter/material.dart'; +import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/widgets/common_widgets/dotted_rect.dart'; +import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; class DottedRoundedCard extends StatelessWidget { final Function() onTap; @@ -26,7 +28,7 @@ class DottedRoundedCard extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ icon, - SizedBox(width: 8), + const SizedBox(width: 8), text.toText( fontSize: 15, isBold: true, @@ -44,34 +46,46 @@ class DottedRectContainer extends StatelessWidget { final Function() onTap; final String text; final Widget icon; + final String extensions; - const DottedRectContainer({Key? key, required this.onTap, required this.text, required this.icon}) : super(key: key); + const DottedRectContainer({Key? key, required this.onTap, required this.text, required this.icon, required this.extensions}) : super(key: key); @override Widget build(BuildContext context) { return InkWell( onTap: onTap, - child: Container( - height: 46, - width: double.infinity, - color: MyColors.white, - child: DashedRect( - color: MyColors.lightIconColor, - strokeWidth: 2.0, - gap: 4.0, - child: Row( - mainAxisAlignment: MainAxisAlignment.center, + child: Column( + children: [ + DashedRect( + color: MyColors.lightIconColor, + strokeWidth: 2.0, + gap: 4.0, + child: Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + icon, + const SizedBox(width: 8), + text + .toText( + fontSize: 15, + isBold: true, + color: MyColors.darkPrimaryColor, + ) + .paddingAll(6), + ], + ), + ), + 8.height, + Row( + mainAxisAlignment: MainAxisAlignment.end, children: [ - icon, - SizedBox(width: 8), - text.toText( - fontSize: 15, - isBold: true, - color: MyColors.darkPrimaryColor, + "( $extensions )".toText( + fontSize: 8, + color: MyColors.lightTextColor, ), ], - ), - ), + ) + ], ), ); } diff --git a/lib/views/advertisement/ad_creation_steps/vehicle_details_container.dart b/lib/views/advertisement/ad_creation_steps/vehicle_details_container.dart index a1501c5..ac6ea39 100644 --- a/lib/views/advertisement/ad_creation_steps/vehicle_details_container.dart +++ b/lib/views/advertisement/ad_creation_steps/vehicle_details_container.dart @@ -300,6 +300,7 @@ class VehicleDetails extends StatelessWidget { onTap: () => context.read().pickMultipleImages(), text: LocaleKeys.attachImage.tr(), icon: MyAssets.attachmentIcon.buildSvg(), + extensions: GlobalConsts.allowedFileExtensions, ), ], if (adVM.vehicleImageError != "") ...[ diff --git a/lib/views/requests/create_request_page.dart b/lib/views/requests/create_request_page.dart index 555defb..773232b 100644 --- a/lib/views/requests/create_request_page.dart +++ b/lib/views/requests/create_request_page.dart @@ -239,6 +239,7 @@ class CreateRequestPage extends StatelessWidget { onTap: () => context.read().pickMultipleImages(), text: LocaleKeys.attachImage.tr(), icon: MyAssets.attachmentIcon.buildSvg(), + extensions: GlobalConsts.allowedFileExtensions, ), ], if (requestsVM.vehicleImageError != "") ...[ diff --git a/lib/views/requests/request_bottomsheets.dart b/lib/views/requests/request_bottomsheets.dart index fc52f80..ab737c6 100644 --- a/lib/views/requests/request_bottomsheets.dart +++ b/lib/views/requests/request_bottomsheets.dart @@ -135,6 +135,7 @@ Future buildSendOfferBottomSheet({ onTap: () => context.read().pickMultipleImages(), text: LocaleKeys.attachImage.tr(), icon: MyAssets.attachmentIcon.buildSvg(), + extensions: GlobalConsts.allowedFileExtensions, ), ], if (requestsVM.pickedVehicleImages.isNotEmpty) ...[ diff --git a/lib/views/setting_options/provider_license_page.dart b/lib/views/setting_options/provider_license_page.dart index d4501fc..e100e8d 100644 --- a/lib/views/setting_options/provider_license_page.dart +++ b/lib/views/setting_options/provider_license_page.dart @@ -235,6 +235,7 @@ class _ProviderLicensePageState extends State { onTap: () => serviceVM.pickPdfReceiptFile(context, document.documentId!, index) ?? "", text: LocaleKeys.attachPDF.tr(), icon: MyAssets.attachmentIcon.buildSvg(), + extensions: GlobalConsts.allowedFileExtensionsPDF, ), ] ], diff --git a/lib/widgets/common_widgets/branch_details_card.dart b/lib/widgets/common_widgets/branch_details_card.dart index d1f0359..87013e0 100644 --- a/lib/widgets/common_widgets/branch_details_card.dart +++ b/lib/widgets/common_widgets/branch_details_card.dart @@ -68,10 +68,11 @@ class BranchDetailCard extends StatelessWidget { ], if (providerName != null) Row( + crossAxisAlignment: CrossAxisAlignment.start, children: [ ("${LocaleKeys.provider.tr()}:").toText(color: MyColors.lightTextColor, fontSize: 12), 4.width, - providerName!.toText(fontSize: 12, isBold: true), + Flexible(child: providerName!.toText(fontSize: 12, isBold: true),) ], ), ],