Added select_ad_type_view.dart

pull/3/head
Faiz Hashmi 1 year ago
parent fb9db7fb0b
commit ba0b66d7e5

@ -1,9 +1,5 @@
import 'package:mc_common_app/models/user/register_user.dart';
// import 'package:mc_common_app/views/settings/create_services_page.dart';
// import 'package:mc_common_app/views/settings/dealership_page.dart';
// import 'package:mc_common_app/views/settings/define_branch_page.dart';
// import 'package:mc_common_app/views/settings/define_license_page.dart';
import 'package:mc_common_app/views/user/change_email_page.dart';
import 'package:mc_common_app/views/user/change_mobile_page.dart';
import 'package:mc_common_app/views/user/change_password_page.dart';
@ -16,10 +12,6 @@ import 'package:mc_common_app/views/user/login_method_selection_page.dart';
import 'package:mc_common_app/views/user/login_verification_page.dart';
import 'package:mc_common_app/views/user/login_verify_account_page.dart';
import 'package:mc_common_app/views/user/login_with_password_page.dart';
// import 'package:mc_common_app/views/user/profile/profile_1_page.dart';
// import 'package:mc_common_app/views/user/profile/profile_2_page.dart';
// import 'package:mc_common_app/views/user/profile/profile_3_page.dart';
import 'package:mc_common_app/views/user/register_page.dart';
import 'package:mc_common_app/views/user/register_provider_page.dart';
import 'package:mc_common_app/views/user/register_selection_page.dart';
@ -53,6 +45,7 @@ class AppRoutes {
static const String dashboard = "/dashboard";
static const String bookProviderAppView = "/bookProviderAppView";
static const String appointmentDetailView = "/appointmentDetailView";
static const String selectAdTypeView = "/selectAdTypeView";
static const String adsDetailView = "/adsDetailView";
static const String createAdView = "/createAdView";
static const String bookAppointmenServicesView = "/bookAppointmenServicesView";
@ -68,31 +61,31 @@ class AppRoutes {
static const String providerProfilePage = "/providerProfilePage";
// Subcriptions
static final String mySubscriptionsPage = "/mySubscriptionsPage";
static final String subscriptionsPage = "/subscriptionsPage";
// Subscriptions
static const String mySubscriptionsPage = "/mySubscriptionsPage";
static const String subscriptionsPage = "/subscriptionsPage";
static const String initialRoute = splash;
static final Map<String, WidgetBuilder> routes = {
//User
splash: (context) => const SplashPage(),
registerSelection: (context) => RegisterSelectionPage(),
registerSelection: (context) => const RegisterSelectionPage(),
loginVerifyAccount: (context) => LoginVerifyAccountPage(),
registerCustomer: (context) => RegisterCustomerPage(),
registerProvider: (context) => RegisterProviderPage(),
forgetPassword: (context) => ForgetPasswordPage(),
registerCustomer: (context) => const RegisterCustomerPage(),
registerProvider: (context) => const RegisterProviderPage(),
forgetPassword: (context) => const ForgetPasswordPage(),
loginVerification: (context) => const LoginVerificationPage(),
loginWithPassword: (context) => LoginWithPassword(),
loginWithPassword: (context) => const LoginWithPassword(),
loginMethodSelection: (context) => LoginMethodSelectionPage(ModalRoute.of(context)!.settings.arguments as String),
completeProfile: (context) => CompleteProfilePage(ModalRoute.of(context)!.settings.arguments as RegisterUserRespModel),
verifyPassword: (context) => VerifyPasswordPage(),
confirmNewPasswordPage: (context) => ConfirmNewPasswordPage(ModalRoute.of(context)!.settings.arguments as String),
changePassword: (context) => ChangePasswordPage(),
changePassword: (context) => const ChangePasswordPage(),
forgetPasswordMethodPage: (context) => ForgetPasswordMethodPage(ModalRoute.of(context)!.settings.arguments as String),
changeMobilePage: (context) => ChangeMobilePage(),
changeEmailPage: (context) => const ChangeEmailPage(),
editAccountPage: (context) => EditAccountPage(),
editAccountPage: (context) => const EditAccountPage(),
};
}

@ -1,3 +1,5 @@
import 'dart:developer';
import 'package:mc_common_app/api/api_client.dart';
import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart';
@ -300,6 +302,7 @@ class AdsRepoImp implements AdsRepo {
postParams,
token: token,
);
log ("value: ${adsGenericModel}");
return Future.value(adsGenericModel);
}

@ -0,0 +1,122 @@
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/vehicle_details_models.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
import 'package:sizer/sizer.dart';
class SelectAdTypeView extends StatelessWidget {
final bool isProvider;
const SelectAdTypeView({
Key? key,
this.isProvider = true,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppBar(
title: "Select Ad Type",
profileImageUrl: MyAssets.bnCar,
isRemoveBackButton: false,
isDrawerEnabled: false,
),
body: Column(
children: [
Expanded(
child: Consumer(builder: (BuildContext context, AdVM adVM, Widget? child) {
return ListView.separated(
itemCount: adVM.vehicleTypes.length,
itemBuilder: (BuildContext context, int index) {
VehicleTypeModel vehicleTypeModel = adVM.vehicleTypes[index];
return SizedBox(
width: double.infinity,
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
Expanded(
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisAlignment: MainAxisAlignment.start,
children: [
vehicleTypeModel.vehicleTypeName.toString().toText(fontSize: 16, isBold: true),
Row(
children: [
"Duration: ".toText(fontSize: 12, color: MyColors.lightTextColor, isBold: true),
"7 Days".toText(fontSize: 13, isBold: true),
const Icon(Icons.keyboard_arrow_down_sharp, color: MyColors.darkPrimaryColor, size: 20),
],
).paddingOnly(top: 5, bottom: 5),
Row(
crossAxisAlignment: CrossAxisAlignment.end,
children: [
"1056".toText(fontSize: 22, isBold: true),
2.width,
Padding(
padding: const EdgeInsets.only(bottom: 4),
child: "SAR".toText(fontSize: 12, color: MyColors.lightTextColor, isBold: true),
),
],
),
],
),
),
],
),
).toWhiteContainer(width: double.infinity, allPading: 10);
},
separatorBuilder: (BuildContext context, int index) {
return 9.height;
},
padding: const EdgeInsets.all(20),
);
}),
),
if (isProvider) ...[
SizedBox(
height: 12.h,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Row(
children: [
"5 of 10 ".toText(fontSize: 29, isBold: true, letterSpacing: 0, height: 1),
"Ads Remaining ".toText(fontSize: 17, color: MyColors.lightTextColor, isBold: true),
],
),
const Text.rich(
TextSpan(
children: [
TextSpan(
text: "You have left with 05 out of 50 ads given in the subscription. ",
style: TextStyle(
fontSize: 14,
color: MyColors.lightTextColor,
)),
TextSpan(
text: "Update Subscription",
style: TextStyle(
decoration: TextDecoration.underline,
fontSize: 14,
fontWeight: FontWeight.w600,
color: MyColors.darkPrimaryColor,
))
],
),
)
],
).toContainer(paddingAll: 20, backgroundColor: Colors.white),
),
]
],
),
);
}
}

@ -261,38 +261,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "8.2.2"
geocoding:
dependency: "direct main"
description:
name: geocoding
sha256: b34c0501bbbaf3190b85bef3078b27cf66c28a8915c6d3af50d67f356aa7da31
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_android:
dependency: transitive
description:
name: geocoding_android
sha256: "5a1fc0cec9b0497b44ca31c1fa8d1c891f3aded1053e6bb2eac075d3bd1bf046"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_ios:
dependency: transitive
description:
name: geocoding_ios
sha256: c85495ce8fb34e4fbd2dd8fc5f79263d622d9f88c4af948c965daf6b27a7f3a1
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_platform_interface:
dependency: transitive
description:
name: geocoding_platform_interface
sha256: "8848605d307d844d89937cdb4b8ad7dfa880552078f310fa24d8a460f6dddab4"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
geolocator:
dependency: "direct main"
description:
@ -377,10 +345,10 @@ packages:
dependency: "direct main"
description:
name: hexcolor
sha256: e572c3346f4b26422a281dc4c10f83022131f56f7364837671b50f53c7adc5e7
sha256: c07f4bbb9095df87eeca87e7c69e8c3d60f70c66102d7b8d61c4af0453add3f6
url: "https://pub.dev"
source: hosted
version: "2.0.7"
version: "3.0.1"
http:
dependency: "direct main"
description:

@ -29,7 +29,7 @@ dependencies:
auto_size_text: any
shimmer: ^2.0.0
local_auth: any
hexcolor: ^2.0.4
hexcolor: ^3.0.1
cached_network_image: any
url_launcher: ^6.1.7
badges: ^3.0.2
@ -40,7 +40,7 @@ dependencies:
# google
google_maps_flutter: ^2.1.1
geolocator: any
geocoding: any
# geocoding: ^2.1.0
dev_dependencies:

Loading…
Cancel
Save