From e39c697ed056254005db0b0d1bf9730cea3013c2 Mon Sep 17 00:00:00 2001 From: "mirza.shafique" Date: Tue, 20 Jun 2023 14:38:42 +0300 Subject: [PATCH] Provider Profile 1.2 --- android/app/build.gradle | 4 +- android/build.gradle | 4 +- .../gradle/wrapper/gradle-wrapper.properties | 2 +- lib/views/provider/branch_detail_page.dart | 2 +- lib/views/provider/provider_profile_page.dart | 93 +++++++++++++------ 5 files changed, 69 insertions(+), 36 deletions(-) diff --git a/android/app/build.gradle b/android/app/build.gradle index 6ac2704..1bdfb60 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -44,8 +44,8 @@ android { defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.car_customer_app" - minSdkVersion 20 - targetSdkVersion 31 + minSdkVersion 23 + targetSdkVersion 33 versionCode flutterVersionCode.toInteger() versionName flutterVersionName } diff --git a/android/build.gradle b/android/build.gradle index 09fbd64..543cb25 100644 --- a/android/build.gradle +++ b/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlin_version = '1.6.10' + ext.kotlin_version = '1.8.0' repositories { google() mavenCentral() @@ -24,6 +24,6 @@ subprojects { project.evaluationDependsOn(':app') } -task clean(type: Delete) { +tasks.register("clean", Delete) { delete rootProject.buildDir } diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties index bc6a58a..e547954 100644 --- a/android/gradle/wrapper/gradle-wrapper.properties +++ b/android/gradle/wrapper/gradle-wrapper.properties @@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip diff --git a/lib/views/provider/branch_detail_page.dart b/lib/views/provider/branch_detail_page.dart index f9432ae..dbace34 100644 --- a/lib/views/provider/branch_detail_page.dart +++ b/lib/views/provider/branch_detail_page.dart @@ -186,7 +186,7 @@ class _BranchDetailPageState extends State { 20.height, ], ).onPress(() { - showMyBottomSheet(context, child: ItemsListSheet(widget.branchModel.branchServices![index].providerBranchServiceId ?? 0)); + showMyBottomSheet(context, child: ItemsListSheet(widget.branchModel.branchServices![index].serviceProviderServiceId ?? 0)); }), ], onExpansionChanged: (value) { diff --git a/lib/views/provider/provider_profile_page.dart b/lib/views/provider/provider_profile_page.dart index 84d041f..a16f39f 100644 --- a/lib/views/provider/provider_profile_page.dart +++ b/lib/views/provider/provider_profile_page.dart @@ -1,13 +1,18 @@ import 'package:car_customer_app/view_models/providers_view_model.dart'; import 'package:flutter/material.dart'; import 'package:mc_common_app/classes/consts.dart'; +import 'package:mc_common_app/config/routes.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; +import 'package:mc_common_app/generated/locale_keys.g.dart'; import 'package:mc_common_app/theme/colors.dart'; +import 'package:mc_common_app/utils/navigator.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; +import 'package:mc_common_app/widgets/common_widgets/provider_details_card.dart'; import 'package:mc_common_app/widgets/empty_widget.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; import 'package:provider/provider.dart'; +import 'package:easy_localization/easy_localization.dart'; class ProviderProfilePage extends StatefulWidget { int providerId; @@ -41,36 +46,64 @@ class _ProviderProfilePageState extends State { ? const Center(child: CircularProgressIndicator()) : model.providerModel!.data == null ? const EmptyWidget() - : Column( - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - //TODO: company logo/banner not added form provider app yet - Image.asset(MyAssets.bnCar), - 12.height, - model.providerModel!.data!.companyName.toString().toText( - fontSize: 16, - isBold: true, - ), - Row( - children: [ - ("Mowater Member Since:").toText(color: MyColors.lightTextColor, fontSize: 12), - 4.width, - //TODO: date is missing from API side - "2023".toText(fontSize: 12, isBold: true), - ], - ), - 4.height, - //TODO: company description not added form provider app yet - // model.providerModel!.data!.companyDescription!.toText(color: MyColors.lightTextColor, fontSize: 12), - "Some description about the provider and their years of experience and their reputation".toText(color: MyColors.lightTextColor, fontSize: 12), - ], - ).toWhiteContainer( - width: double.infinity, - allPading: 12, - ), - ], + : SingleChildScrollView( + child: Column( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + //TODO: company logo/banner not added form provider app yet + Image.asset(MyAssets.bnCar), + 12.height, + model.providerModel!.data!.companyName.toString().toText( + fontSize: 16, + isBold: true, + ), + Row( + children: [ + ("Mowater Member Since:").toText(color: MyColors.lightTextColor, fontSize: 12), + 4.width, + //TODO: date is missing from API side + "2023".toText(fontSize: 12, isBold: true), + ], + ), + 4.height, + //TODO: company description not added form provider app yet + // model.providerModel!.data!.companyDescription!.toText(color: MyColors.lightTextColor, fontSize: 12), + "Some description about the provider and their years of experience and their reputation".toText(color: MyColors.lightTextColor, fontSize: 12), + ], + ).toWhiteContainer( + width: double.infinity, + allPading: 12, + ), + 12.height, + model.providerModel!.data!.serviceProviderBranch == null + ? const Center(child: Text("No Branch Found")) + : model.providerModel!.data!.serviceProviderBranch!.isEmpty + ? Center(child: Text(LocaleKeys.no_branch.tr())) + : ListView.separated( + itemBuilder: (context, index) { + return ProviderDetailsCard( + onCardTapped: () { + navigateWithName(context, AppRoutes.branchDetailPage, arguments: model.providerModel!.data!.serviceProviderBranch![index]); + }, + providerImageUrl: MyAssets.bnCar, + title: model.providerModel!.data!.serviceProviderBranch![index].branchName ?? "", + providerLocation: model.providerModel!.data!.serviceProviderBranch![index].distanceKm.toString() + " KM", + providerName: model.providerModel!.data!.serviceProviderBranch![index].serviceProviderName ?? "", + providerRatings: "4.9", + items: model.providerModel!.data!.serviceProviderBranch![index].branchServices, + ); + }, + separatorBuilder: (context, index) { + return 12.height; + }, + itemCount: model.providerModel!.data!.serviceProviderBranch!.length, + physics: NeverScrollableScrollPhysics(), + shrinkWrap: true, + ) + ], + ), ); }, ), -- 2.30.2