import 'package:mc_common_app/views/advertisement/ads_images_slider.dart'; import 'package:flutter/material.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/models/advertisment_models/ad_details_model.dart'; import 'package:mc_common_app/theme/colors.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/extensions/extensions_widget.dart'; class AdsDetailView extends StatelessWidget { final AdDetailsModel adDetails; const AdsDetailView({Key? key, required this.adDetails}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: CustomAppBar( backgroundColor: MyColors.backgroundColor, title: "Ads", profileImageUrl: MyAssets.bnCar, isRemoveBackButton: false, isDrawerEnabled: false, ), body: Container( padding: const EdgeInsets.only(bottom: 10, left: 21, right: 21), child: Stack( children: [ Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.start, children: [ CarouselWithIndicatorDemo(vehicleImages: adDetails.vehicle!.image!), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ "${adDetails.vehicle!.vehicleTitle} | ${adDetails.vehicle!.color!.label}".toText(fontSize: 18, isBold: true), (adDetails.vehicle!.cityName ?? "").toText(fontSize: 10, isBold: true, color: MyColors.lightTextColor), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ "Model: ".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor), "${adDetails.vehicle!.modelyear!.label}".toText( fontSize: 14, isBold: true, ), ], ), "${adDetails.vehicle!.countryID}".toText(fontSize: 10, isBold: true, color: MyColors.lightTextColor), ], ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ Row( children: [ "Mileage: ".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor), "${adDetails.vehicle!.mileage!.mileageEnd}Km".toText( fontSize: 14, isBold: true, ), ], ), adDetails.createdOn != null ? DateTime.parse(adDetails.createdOn!).getTimeAgo().toText(fontSize: 10, isBold: true, color: MyColors.lightTextColor) : SizedBox(), ], ), Row( children: [ "Transmission: ".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor), "${adDetails.vehicle!.transmission!.label}".toText( fontSize: 14, isBold: true, ), ], ), 8.height, "Description: ".toText(fontSize: 14, isBold: true, color: MyColors.lightTextColor), "${adDetails.vehicle!.vehicleDescription}".toText( fontSize: 14, isBold: true, ), ], ).toWhiteContainer(width: double.infinity, allPading: 12), Align( alignment: Alignment.bottomCenter, child: SizedBox( height: 150, child: Column( children: [ const Divider(thickness: 1, height: 1), 18.height, Row( crossAxisAlignment: CrossAxisAlignment.end, children: [ adDetails.vehicle!.demandAmount!.toInt().toString().toText(fontSize: 30, isBold: true), "SAR".toText(fontSize: 15, isBold: true, color: MyColors.lightTextColor), ], ), 14.height, Row( children: [ Expanded( child: ShowFillButton( maxHeight: 55, title: "Reserve Ad", onPressed: () {}, ), ), 12.width, Container( height: 55, width: 55, alignment: Alignment.center, decoration: BoxDecoration(border: Border.all(color: MyColors.black, width: 3)), child: const Icon(Icons.phone, color: MyColors.black), ).onPress(() {}), ], ), ], ), )), ], ), ), ); } }