aamir_dev
Faiz Hashmi 10 months ago
parent 4b350dbeb6
commit 656dbfd5ac

@ -37,6 +37,8 @@ class AdDetailsModel {
double? priceExcludingDiscount; double? priceExcludingDiscount;
double? reservePrice; double? reservePrice;
bool? isMCHandled; bool? isMCHandled;
bool? showContactDetail;
bool? isOnWhatsApp;
String? modifiedOn; String? modifiedOn;
AdPostStatus? adPostStatus; AdPostStatus? adPostStatus;
AdReserveStatus? adReserveStatus; AdReserveStatus? adReserveStatus;
@ -83,6 +85,8 @@ class AdDetailsModel {
this.priceExcludingDiscount, this.priceExcludingDiscount,
this.reservePrice, this.reservePrice,
this.isMCHandled, this.isMCHandled,
this.showContactDetail,
this.isOnWhatsApp,
this.adPostStatus, this.adPostStatus,
this.adReserveStatus, this.adReserveStatus,
this.isMyAd, this.isMyAd,
@ -140,6 +144,8 @@ class AdDetailsModel {
priceExcludingDiscount = json['priceExcludingDiscount']; priceExcludingDiscount = json['priceExcludingDiscount'];
reservePrice = json['reservePrice']; reservePrice = json['reservePrice'];
isMCHandled = json['isMCHandled']; isMCHandled = json['isMCHandled'];
showContactDetail = json['showContactDetail'];
isOnWhatsApp = json['isOnWhatsApp'];
modifiedOn = json['modifiedOn']; modifiedOn = json['modifiedOn'];
phoneNo = json['vehicle'] != null ? (json['vehicle']['mobileNo'] ?? "") : ""; phoneNo = json['vehicle'] != null ? (json['vehicle']['mobileNo'] ?? "") : "";
whatsAppNo = json['vehicle'] != null ? (json['vehicle']['whatsAppNo'] ?? "") : ""; whatsAppNo = json['vehicle'] != null ? (json['vehicle']['whatsAppNo'] ?? "") : "";

@ -451,10 +451,11 @@ class VehicleBrandsModel {
String? vehicleTypeVal; String? vehicleTypeVal;
String? vehicleBrandDescription; String? vehicleBrandDescription;
String? vehicleBrandDescriptionN; String? vehicleBrandDescriptionN;
String? imageUrl;
bool? isActive; bool? isActive;
bool? isSelected; bool? isSelected;
VehicleBrandsModel({this.id, this.vehicleType, this.vehicleTypeVal, this.vehicleBrandDescription, this.vehicleBrandDescriptionN, this.isActive, this.isSelected}); VehicleBrandsModel({this.id, this.vehicleType, this.vehicleTypeVal, this.vehicleBrandDescription, this.vehicleBrandDescriptionN, this.isActive, this.isSelected, this.imageUrl});
VehicleBrandsModel.fromJson(Map<String, dynamic> json) { VehicleBrandsModel.fromJson(Map<String, dynamic> json) {
id = json['id']; id = json['id'];
@ -463,6 +464,7 @@ class VehicleBrandsModel {
vehicleBrandDescription = json['vehicleBrand_Description']; vehicleBrandDescription = json['vehicleBrand_Description'];
vehicleBrandDescriptionN = json['vehicleBrand_DescriptionN']; vehicleBrandDescriptionN = json['vehicleBrand_DescriptionN'];
isActive = json['isActive']; isActive = json['isActive'];
imageUrl = json['imageUrl'];
isSelected = false; isSelected = false;
} }
@ -473,6 +475,7 @@ class VehicleBrandsModel {
data['vehicleTypeVal'] = vehicleTypeVal; data['vehicleTypeVal'] = vehicleTypeVal;
data['vehicleBrand_Description'] = vehicleBrandDescription; data['vehicleBrand_Description'] = vehicleBrandDescription;
data['vehicleBrand_DescriptionN'] = vehicleBrandDescriptionN; data['vehicleBrand_DescriptionN'] = vehicleBrandDescriptionN;
data['imageUrl'] = imageUrl;
data['isActive'] = isActive; data['isActive'] = isActive;
return data; return data;
} }

@ -47,17 +47,6 @@ class AdsCreationPayloadModel {
ads = json['ads'] != null ? Ads.fromJson(json['ads']) : null; ads = json['ads'] != null ? Ads.fromJson(json['ads']) : null;
vehiclePosting = json['vehiclePosting'] != null ? VehiclePosting.fromJson(json['vehiclePosting']) : null; vehiclePosting = json['vehiclePosting'] != null ? VehiclePosting.fromJson(json['vehiclePosting']) : null;
} }
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
if (ads != null) {
data['ads'] = ads!.toJson();
}
if (vehiclePosting != null) {
data['vehiclePosting'] = vehiclePosting!.toJson();
}
return data;
}
} }
class Ads { class Ads {
@ -67,8 +56,19 @@ class Ads {
int? countryId; int? countryId;
List<int>? specialServiceIDs; List<int>? specialServiceIDs;
bool? isMCHandled; bool? isMCHandled;
bool? showContactDetail;
Ads({this.id, this.adsDurationID, this.startDate, this.countryId, this.specialServiceIDs, this.isMCHandled}); bool? isOnWhatsApp;
Ads({
this.id,
this.adsDurationID,
this.startDate,
this.countryId,
this.specialServiceIDs,
this.isMCHandled,
this.showContactDetail,
this.isOnWhatsApp,
});
Ads.fromJson(Map<String, dynamic> json) { Ads.fromJson(Map<String, dynamic> json) {
id = json['id']; id = json['id'];
@ -77,6 +77,8 @@ class Ads {
countryId = json['countryId']; countryId = json['countryId'];
specialServiceIDs = json['specialServiceIDs'].cast<int>(); specialServiceIDs = json['specialServiceIDs'].cast<int>();
isMCHandled = json['isMCHandled']; isMCHandled = json['isMCHandled'];
showContactDetail = json['showContactDetail'];
isOnWhatsApp = json['isOnWhatsApp'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -123,32 +125,33 @@ class VehiclePosting {
String? phoneNo; String? phoneNo;
String? whatsAppNo; String? whatsAppNo;
VehiclePosting( VehiclePosting({
{this.id, this.id,
this.userID, this.userID,
this.vehicleType, this.vehicleType,
this.vehicleModelID, this.vehicleModelID,
this.vehicleModelYearID, this.vehicleModelYearID,
this.vehicleColorID, this.vehicleColorID,
this.vehicleCategoryID, this.vehicleCategoryID,
this.vehicleConditionID, this.vehicleConditionID,
this.vehicleMileageID, this.vehicleMileageID,
this.vehicleTransmissionID, this.vehicleTransmissionID,
this.vehicleSellerTypeID, this.vehicleSellerTypeID,
this.cityID, this.cityID,
this.price, this.price,
this.vehicleVIN, this.vehicleVIN,
this.vehicleDescription, this.vehicleDescription,
this.vehicleTitle, this.vehicleTitle,
this.vehicleDescriptionN, this.vehicleDescriptionN,
this.isFinanceAvailable, this.isFinanceAvailable,
this.warantyYears, this.warantyYears,
this.demandAmount, this.demandAmount,
this.adStatus, this.adStatus,
this.phoneNo, this.phoneNo,
this.whatsAppNo, this.whatsAppNo,
this.vehiclePostingImages, this.vehiclePostingImages,
this.vehiclePostingDamageParts}); this.vehiclePostingDamageParts,
});
VehiclePosting.fromJson(Map<String, dynamic> json) { VehiclePosting.fromJson(Map<String, dynamic> json) {
id = json['id']; id = json['id'];
@ -188,40 +191,6 @@ class VehiclePosting {
} }
} }
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['userID'] = userID;
data['vehicleType'] = vehicleType;
data['vehicleModelID'] = vehicleModelID;
data['vehicleModelYearID'] = vehicleModelYearID;
data['vehicleColorID'] = vehicleColorID;
data['vehicleCategoryID'] = vehicleCategoryID;
data['vehicleConditionID'] = vehicleConditionID;
data['vehicleMileageID'] = vehicleMileageID;
data['vehicleTransmissionID'] = vehicleTransmissionID;
data['vehicleSellerTypeID'] = vehicleSellerTypeID;
data['cityID'] = cityID;
data['price'] = price;
data['vehicleVIN'] = vehicleVIN;
data['vehicleDescription'] = vehicleDescription;
data['vehicleTitle'] = vehicleTitle;
data['vehicleDescriptionN'] = vehicleDescriptionN;
data['isFinanceAvailable'] = isFinanceAvailable;
data['warantyYears'] = warantyYears;
data['demandAmount'] = demandAmount;
data['adStatus'] = adStatus;
data['phoneNo'] = phoneNo;
data['whatsAppNo'] = whatsAppNo;
if (vehiclePostingImages != null) {
data['vehiclePostingImages'] = vehiclePostingImages!.map((v) => v.toJson()).toList();
}
if (vehiclePostingDamageParts != null) {
data['vehiclePostingDamageParts'] = vehiclePostingDamageParts!.map((v) => v.toJson()).toList();
}
return data;
}
@override @override
String toString() { String toString() {
return 'VehiclePosting{id: $id, userID: $userID, vehicleType: $vehicleType, vehicleModelID: $vehicleModelID, vehicleModelYearID: $vehicleModelYearID, vehicleColorID: $vehicleColorID, vehicleCategoryID: $vehicleCategoryID, vehicleConditionID: $vehicleConditionID, vehicleMileageID: $vehicleMileageID, vehicleTransmissionID: $vehicleTransmissionID, vehicleSellerTypeID: $vehicleSellerTypeID, cityID: $cityID, price: $price, vehicleVIN: $vehicleVIN, vehicleDescription: $vehicleDescription, vehicleTitle: $vehicleTitle, vehicleDescriptionN: $vehicleDescriptionN, isFinanceAvailable: $isFinanceAvailable, warantyYears: $warantyYears, demandAmount: $demandAmount, adStatus: $adStatus, vehiclePostingImages: $vehiclePostingImages, vehiclePostingDamageParts: $vehiclePostingDamageParts, phoneNo: $phoneNo, whatsAppNo: $whatsAppNo}'; return 'VehiclePosting{id: $id, userID: $userID, vehicleType: $vehicleType, vehicleModelID: $vehicleModelID, vehicleModelYearID: $vehicleModelYearID, vehicleColorID: $vehicleColorID, vehicleCategoryID: $vehicleCategoryID, vehicleConditionID: $vehicleConditionID, vehicleMileageID: $vehicleMileageID, vehicleTransmissionID: $vehicleTransmissionID, vehicleSellerTypeID: $vehicleSellerTypeID, cityID: $cityID, price: $price, vehicleVIN: $vehicleVIN, vehicleDescription: $vehicleDescription, vehicleTitle: $vehicleTitle, vehicleDescriptionN: $vehicleDescriptionN, isFinanceAvailable: $isFinanceAvailable, warantyYears: $warantyYears, demandAmount: $demandAmount, adStatus: $adStatus, vehiclePostingImages: $vehiclePostingImages, vehiclePostingDamageParts: $vehiclePostingDamageParts, phoneNo: $phoneNo, whatsAppNo: $whatsAppNo}';

@ -159,7 +159,9 @@ class AdsRepoImp implements AdsRepo {
"startDate": adsCreationPayloadModel.ads!.startDate, "startDate": adsCreationPayloadModel.ads!.startDate,
"countryId": adsCreationPayloadModel.ads!.countryId, "countryId": adsCreationPayloadModel.ads!.countryId,
"specialServiceIDs": adsCreationPayloadModel.ads!.specialServiceIDs, "specialServiceIDs": adsCreationPayloadModel.ads!.specialServiceIDs,
"isMCHandled": false "isMCHandled": false,
"showContactDetail": adsCreationPayloadModel.ads!.showContactDetail ?? false,
"isOnWhatsApp": adsCreationPayloadModel.ads!.isOnWhatsApp ?? false,
}, },
"vehiclePosting": { "vehiclePosting": {
"id": adsCreationPayloadModel.vehiclePosting!.id ?? 0, "id": adsCreationPayloadModel.vehiclePosting!.id ?? 0,

@ -194,7 +194,7 @@ class AdVM extends BaseVM {
exploreAdsFilterOptions.add(FilterListModel( exploreAdsFilterOptions.add(FilterListModel(
id: vehicleBrandsForFilters[i].id!, id: vehicleBrandsForFilters[i].id!,
title: "${vehicleBrandsForFilters[i].vehicleBrandDescription}", title: "${vehicleBrandsForFilters[i].vehicleBrandDescription}",
iconUrl: "", iconUrl: vehicleBrandsForFilters[i].imageUrl ?? "",
isSelected: false, isSelected: false,
)); ));
} }
@ -1553,12 +1553,26 @@ class AdVM extends BaseVM {
for (var value in specialServiceCards) { for (var value in specialServiceCards) {
adsSelectedServices.add(value.serviceSelectedId!.selectedId); adsSelectedServices.add(value.serviceSelectedId!.selectedId);
} }
if (selectionDurationStartDate.isNotEmpty) {
// Define the format of the input string
DateTime startDate = DateTime.parse(
"${selectionDurationStartDate.split('-')[2]}-${selectionDurationStartDate.split('-')[1]}-${selectionDurationStartDate.split('-')[0]}",
);
DateTime currentDate = DateTime.now();
if (startDate.isBefore(currentDate)) {
selectionDurationStartDate = DateHelper.formatAsYearMonthDay(currentDate);
}
}
Ads ads = Ads( Ads ads = Ads(
id: isAdEditEnabled ? previousAdDetails!.id : null, id: isAdEditEnabled ? previousAdDetails!.id : null,
adsDurationID: vehicleAdDurationId.selectedId == -1 ? 0 : vehicleAdDurationId.selectedId, adsDurationID: vehicleAdDurationId.selectedId == -1 ? 0 : vehicleAdDurationId.selectedId,
startDate: selectionDurationStartDate, startDate: selectionDurationStartDate,
countryId: vehicleCountryId.selectedId, countryId: vehicleCountryId.selectedId,
specialServiceIDs: adsSelectedServices, specialServiceIDs: adsSelectedServices,
showContactDetail: isPhoneNumberShown,
isOnWhatsApp: isNumberOnWhatsApp,
); );
List<VehiclePostingImages> vehicleImages = []; List<VehiclePostingImages> vehicleImages = [];
@ -2048,6 +2062,7 @@ class AdVM extends BaseVM {
void autoFillSelectedVehicleAdsDetails() async { void autoFillSelectedVehicleAdsDetails() async {
int index = vehicleBrands.indexWhere((element) => element.id == previousAdDetails!.vehicle!.model!.vehicleBrandID); int index = vehicleBrands.indexWhere((element) => element.id == previousAdDetails!.vehicle!.model!.vehicleBrandID);
if (index != -1) { if (index != -1) {
await updateSelectionVehicleBrandId(SelectionModel(selectedId: vehicleBrands[index].id!, selectedOption: vehicleBrands[index].vehicleBrandDescription ?? "")); await updateSelectionVehicleBrandId(SelectionModel(selectedId: vehicleBrands[index].id!, selectedOption: vehicleBrands[index].vehicleBrandDescription ?? ""));
} }
@ -2067,8 +2082,8 @@ class AdVM extends BaseVM {
if (indexCountry != -1) { if (indexCountry != -1) {
updateSelectionVehicleCountryId(SelectionModel(selectedId: vehicleCountries[indexCountry].id!, selectedOption: vehicleCountries[indexCountry].countryName ?? "")); updateSelectionVehicleCountryId(SelectionModel(selectedId: vehicleCountries[indexCountry].id!, selectedOption: vehicleCountries[indexCountry].countryName ?? ""));
} }
updateSelectionVehicleCityId(SelectionModel(selectedId: previousAdDetails!.vehicle!.cityID!, selectedOption: previousAdDetails!.vehicle!.cityName ?? ""));
updateSelectionVehicleCityId(SelectionModel(selectedId: previousAdDetails!.vehicle!.cityID!, selectedOption: previousAdDetails!.vehicle!.cityName ?? ""));
vehicleDemandAmount = previousAdDetails!.vehicle!.demandAmount!.toInt().toString(); vehicleDemandAmount = previousAdDetails!.vehicle!.demandAmount!.toInt().toString();
vehicleVin = previousAdDetails!.vehicle!.vehicleVIN.toString(); vehicleVin = previousAdDetails!.vehicle!.vehicleVIN.toString();
vehicleTitle = previousAdDetails!.vehicle!.vehicleTitle.toString(); vehicleTitle = previousAdDetails!.vehicle!.vehicleTitle.toString();
@ -2126,11 +2141,8 @@ class AdVM extends BaseVM {
// selectionDurationStartDate = DateHelper.formatDateT(previousAdDetails!.startdate ?? ""); // selectionDurationStartDate = DateHelper.formatDateT(previousAdDetails!.startdate ?? "");
selectionDurationStartDate = ""; selectionDurationStartDate = "";
isPhoneNumberShown = previousAdDetails!.phoneNo != null; isPhoneNumberShown = previousAdDetails!.showContactDetail ?? false;
if (isPhoneNumberShown) { adPhoneNumber = previousAdDetails!.adOwnerDetails!.mobileNo ?? "";
adPhoneNumber = previousAdDetails!.phoneNo ?? "";
adPhoneNumberDialCode = "+966";
}
isNumberOnWhatsApp = previousAdDetails!.whatsAppNo != null; isNumberOnWhatsApp = previousAdDetails!.whatsAppNo != null;
warrantyDuration = previousAdDetails!.warrantyYears ?? ""; warrantyDuration = previousAdDetails!.warrantyYears ?? "";

@ -422,7 +422,7 @@ class _AdsDetailViewState extends State<AdsDetailView> {
if (widget.adDetails.vehicle!.damagereport != null && widget.adDetails.vehicle!.damagereport!.isNotEmpty) ...[ if (widget.adDetails.vehicle!.damagereport != null && widget.adDetails.vehicle!.damagereport!.isNotEmpty) ...[
buildDamagePartDetails(), buildDamagePartDetails(),
], ],
if (!(widget.adDetails.isMyAd ?? false)) ...[ if ((!(widget.adDetails.isMyAd ?? false) && (widget.adDetails.showContactDetail ?? false))) ...[
12.height, 12.height,
buildPersonalInformationCard(context: context), buildPersonalInformationCard(context: context),
], ],

@ -18,7 +18,7 @@ import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/views/advertisement/components/ads_list_widget.dart'; import 'package:mc_common_app/views/advertisement/components/ads_list_widget.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/filters_list.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
@ -108,6 +108,7 @@ class AdsFragment extends StatelessWidget {
if (adVM.adsFiltersCounter == 0) ...[ if (adVM.adsFiltersCounter == 0) ...[
16.height, 16.height,
FiltersList( FiltersList(
showImages: true,
filterList: adVM.exploreAdsFilterOptions, filterList: adVM.exploreAdsFilterOptions,
onFilterTapped: (index, selectedFilterId) { onFilterTapped: (index, selectedFilterId) {
adVM.applyFilterOnExploreAds(vehicleBrandId: selectedFilterId); adVM.applyFilterOnExploreAds(vehicleBrandId: selectedFilterId);

@ -15,7 +15,7 @@ import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/views/requests/widget/request_item.dart'; import 'package:mc_common_app/views/requests/widget/request_item.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/filters_list.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';

@ -17,7 +17,7 @@ import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart'; import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/views/requests/widget/request_item.dart'; import 'package:mc_common_app/views/requests/widget/request_item.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/filters_list.dart';
import 'package:provider/provider.dart'; import 'package:provider/provider.dart';
import 'package:easy_localization/easy_localization.dart'; import 'package:easy_localization/easy_localization.dart';

@ -15,7 +15,7 @@ import 'package:mc_common_app/view_models/shipping_management_view_model.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart'; import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/checkbox_with_title_desc.dart'; import 'package:mc_common_app/widgets/checkbox_with_title_desc.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart'; import 'package:mc_common_app/widgets/common_widgets/filters_list.dart';
import 'package:mc_common_app/widgets/common_widgets/info_bottom_sheet.dart'; import 'package:mc_common_app/widgets/common_widgets/info_bottom_sheet.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/txt_field.dart'; import 'package:mc_common_app/widgets/txt_field.dart';

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/general_models/widgets_models.dart'; import 'package:mc_common_app/models/general_models/widgets_models.dart';
@ -8,6 +10,7 @@ class FiltersList extends StatelessWidget {
final List<FilterListModel> filterList; final List<FilterListModel> filterList;
final Function(int, int) onFilterTapped; final Function(int, int) onFilterTapped;
final bool needLeftPadding; final bool needLeftPadding;
final bool showImages;
final EdgeInsets? padding; final EdgeInsets? padding;
const FiltersList({ const FiltersList({
@ -15,6 +18,7 @@ class FiltersList extends StatelessWidget {
this.padding, this.padding,
required this.filterList, required this.filterList,
this.needLeftPadding = true, this.needLeftPadding = true,
this.showImages = true,
required this.onFilterTapped, required this.onFilterTapped,
}); });
@ -47,14 +51,16 @@ class FiltersList extends StatelessWidget {
), ),
child: Row( child: Row(
mainAxisSize: MainAxisSize.min, mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: [ children: [
// Icon before the text // Icon before the text
if (showImages) ...[
// if (index != 0 || filterList[index].iconUrl.isNotEmpty) ...[ if (index != 0 && filterList[index].iconUrl.isNotEmpty) ...[
// filterList[index].iconUrl.buildNetworkImage(height: 16, width: 16, fit: BoxFit.cover), filterList[index].iconUrl.buildNetworkImage(height: 25, width: 25, fit: BoxFit.contain),
// const SizedBox(width: 4), // Space between icon and text const SizedBox(width: 4), // Space between icon and text
// ], ],
],
// Text displayed in the chip // Text displayed in the chip
filterList[index].title.toText( filterList[index].title.toText(
fontSize: 13, fontSize: 13,

@ -1,6 +1,7 @@
import 'package:flutter/cupertino.dart'; import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:mc_common_app/classes/consts.dart'; import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/utils.dart'; import 'package:mc_common_app/utils/utils.dart';
@ -57,6 +58,19 @@ class _DropdownFieldState extends State<DropdownField> {
dropdownValue = widget.dropdownValue; dropdownValue = widget.dropdownValue;
return Column( return Column(
children: [ children: [
if (widget.hint != null) ...[
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
(widget.hint ?? "").toText(
color: borderColor,
fontSize: 13,
fontWeight: MyFonts.Medium,
),
],
),
4.height,
],
IgnorePointer( IgnorePointer(
ignoring: !widget.isSelectAble, ignoring: !widget.isSelectAble,
child: Container( child: Container(
@ -81,7 +95,7 @@ class _DropdownFieldState extends State<DropdownField> {
color: borderColor, color: borderColor,
fontSize: 15, fontSize: 15,
), ),
hint: (widget.hint ?? "").toText(color: borderColor, fontSize: 15, fontWeight: MyFonts.Medium), // hint: (widget.hint ?? "").toText(color: borderColor, fontSize: 15, fontWeight: MyFonts.Medium),
underline: Container(height: 0), underline: Container(height: 0),
onChanged: (DropValue? newValue) { onChanged: (DropValue? newValue) {
setState(() { setState(() {

@ -9,7 +9,6 @@ import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:sizer/sizer.dart'; import 'package:sizer/sizer.dart';
class TxtField extends StatelessWidget { class TxtField extends StatelessWidget {
TextEditingController controller = TextEditingController();
String? value; String? value;
String? hint; String? hint;
String? lable; String? lable;
@ -69,6 +68,8 @@ class TxtField extends StatelessWidget {
this.allowOnlyOneDigit = false, this.allowOnlyOneDigit = false,
}); });
TextEditingController controller = TextEditingController();
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
controller.text = value ?? ""; controller.text = value ?? "";
@ -76,6 +77,19 @@ class TxtField extends StatelessWidget {
return Column( return Column(
children: [ children: [
if (hint != null) ...[
Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
(hint ?? "").toText(
color: borderColor,
fontSize: 13,
fontWeight: MyFonts.Medium,
),
],
),
4.height,
],
InkWell( InkWell(
onTap: isNeedClickAll == false onTap: isNeedClickAll == false
? null ? null
@ -133,9 +147,9 @@ class TxtField extends StatelessWidget {
) )
: postfixWidget, : postfixWidget,
prefixIcon: prefixData != null ? Icon(prefixData, color: borderColor) : preFixWidget, prefixIcon: prefixData != null ? Icon(prefixData, color: borderColor) : preFixWidget,
labelStyle: const TextStyle(color: borderColor, fontSize: 15, fontWeight: MyFonts.Medium), labelStyle: const TextStyle(color: borderColor, fontSize: 13, fontWeight: MyFonts.Medium),
hintStyle: const TextStyle(color: borderColor, fontSize: 15, fontWeight: MyFonts.Medium), hintStyle: const TextStyle(color: borderColor, fontSize: 13, fontWeight: MyFonts.Medium),
hintText: hint ?? "", // hintText: hint ?? "",
contentPadding: prefixData == null contentPadding: prefixData == null
? EdgeInsets.only( ? EdgeInsets.only(
left: 12, left: 12,

Loading…
Cancel
Save