From ff8c71a360067134b64c206b07a972de50bbd889 Mon Sep 17 00:00:00 2001 From: FaizHashmiCS22 Date: Thu, 23 Mar 2023 11:06:43 +0300 Subject: [PATCH] Added few assets --- assets/icons/branches_icon.svg | 9 ++ assets/icons/maintenance_icon.svg | 6 + assets/icons/modifications_icon.svg | 9 ++ assets/icons/requests_icon.svg | 5 + assets/icons/star_icon.svg | 9 ++ .../customer_appointment_slider_widget.dart | 103 ++++++++++++++++++ ...> provider_appointment_slider_widget.dart} | 64 +---------- 7 files changed, 145 insertions(+), 60 deletions(-) create mode 100644 assets/icons/branches_icon.svg create mode 100644 assets/icons/maintenance_icon.svg create mode 100644 assets/icons/modifications_icon.svg create mode 100644 assets/icons/requests_icon.svg create mode 100644 assets/icons/star_icon.svg create mode 100644 lib/widgets/common_widgets/customer_appointment_slider_widget.dart rename lib/widgets/common_widgets/{appointment_slider_widget.dart => provider_appointment_slider_widget.dart} (57%) diff --git a/assets/icons/branches_icon.svg b/assets/icons/branches_icon.svg new file mode 100644 index 0000000..c0ba51c --- /dev/null +++ b/assets/icons/branches_icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/icons/maintenance_icon.svg b/assets/icons/maintenance_icon.svg new file mode 100644 index 0000000..ac739fd --- /dev/null +++ b/assets/icons/maintenance_icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/assets/icons/modifications_icon.svg b/assets/icons/modifications_icon.svg new file mode 100644 index 0000000..58692b8 --- /dev/null +++ b/assets/icons/modifications_icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/assets/icons/requests_icon.svg b/assets/icons/requests_icon.svg new file mode 100644 index 0000000..c6fd34a --- /dev/null +++ b/assets/icons/requests_icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/assets/icons/star_icon.svg b/assets/icons/star_icon.svg new file mode 100644 index 0000000..4000dca --- /dev/null +++ b/assets/icons/star_icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/lib/widgets/common_widgets/customer_appointment_slider_widget.dart b/lib/widgets/common_widgets/customer_appointment_slider_widget.dart new file mode 100644 index 0000000..93b0f94 --- /dev/null +++ b/lib/widgets/common_widgets/customer_appointment_slider_widget.dart @@ -0,0 +1,103 @@ +import 'package:carousel_slider/carousel_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/theme/colors.dart'; +import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; + +class CustomerAppointmentSliderWidget extends StatelessWidget { + const CustomerAppointmentSliderWidget({Key? key}) : super(key: key); + + Widget buildAppointmentContainerForCustomer() { + return Container( + margin: const EdgeInsets.only(bottom: 21, left: 21, right: 21, top: 7), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Image.asset( + "assets/images/bn_car.jpeg", + width: 56, + height: 56, + fit: BoxFit.fill, + ).toCircle(borderRadius: 100), + 8.width, + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.start, + children: [ + "Al Aziz Service Station".toText(color: MyColors.black, isBold: true, fontSize: 16), + Row( + children: [ + MyAssets.miniClock.buildSvg(height: 12), + 2.width, + "08:00 to 08:30 25 July, 2023".toText( + color: MyColors.lightTextColor, + fontSize: 12, + ), + ], + ), + 9.height, + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.end, + children: [ + "Appointment Details".toText( + color: MyColors.primaryColor, + isUnderLine: true, + isBold: true, + fontSize: 14, + ), + const Icon(Icons.arrow_forward), + ], + ), + ], + ), + ), + ], + ), + ], + ).toWhiteContainer(width: double.infinity, allPading: 12), + ); + } + + @override + Widget build(BuildContext context) { + return CarouselSlider.builder( + options: CarouselOptions( + height: 140, + viewportFraction: 1.0, + enlargeCenterPage: false, + enableInfiniteScroll: false, + // + // onPageChanged: (index) { + // setState(() { + // _current = index; + // }); + // }, + ), + itemCount: 10, + itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) => buildAppointmentContainerForCustomer(), + ); + } + + Widget showServices(String title) { + return Row( + children: [ + const Icon( + Icons.ac_unit, + color: MyColors.primaryColor, + size: 18, + ), + 8.width, + title.toText( + fontSize: 14, + isBold: true, + ), + ], + ); + } +} diff --git a/lib/widgets/common_widgets/appointment_slider_widget.dart b/lib/widgets/common_widgets/provider_appointment_slider_widget.dart similarity index 57% rename from lib/widgets/common_widgets/appointment_slider_widget.dart rename to lib/widgets/common_widgets/provider_appointment_slider_widget.dart index dbf7827..46f2053 100644 --- a/lib/widgets/common_widgets/appointment_slider_widget.dart +++ b/lib/widgets/common_widgets/provider_appointment_slider_widget.dart @@ -1,17 +1,16 @@ import 'package:carousel_slider/carousel_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/theme/colors.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; -class AppointmentSliderWidget extends StatelessWidget { - const AppointmentSliderWidget({Key? key}) : super(key: key); +class ProviderAppointmentSliderWidget extends StatelessWidget { + const ProviderAppointmentSliderWidget({Key? key}) : super(key: key); Widget buildAppointmentContainerForProvider() { return Container( - margin: EdgeInsets.only(bottom: 21, left: 21, right: 21, top: 7), + margin: const EdgeInsets.only(bottom: 21, left: 21, right: 21, top: 7), child: Column( children: [ Row( @@ -74,61 +73,6 @@ class AppointmentSliderWidget extends StatelessWidget { ); } - Widget buildAppointmentSliderForConsumer() { - return Container( - margin: EdgeInsets.only(bottom: 21, left: 21, right: 21, top: 7), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Image.asset( - "assets/images/bn_car.jpeg", - width: 56, - height: 56, - fit: BoxFit.fill, - ).toCircle(borderRadius: 100), - 8.width, - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.start, - children: [ - "Al Aziz Service Station".toText(color: MyColors.black, isBold: true, fontSize: 16), - Row( - children: [ - MyAssets.miniClock.buildSvg(height: 12), - 2.width, - "08:00 to 08:30 25 July, 2023".toText( - color: MyColors.lightTextColor, - fontSize: 12, - ), - ], - ), - 9.height, - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.end, - children: [ - "Appointment Details".toText( - color: MyColors.primaryColor, - isUnderLine: true, - isBold: true, - fontSize: 14, - ), - const Icon(Icons.arrow_forward), - ], - ), - ], - ), - ), - ], - ), - ], - ).toWhiteContainer(width: double.infinity, allPading: 12), - ); - } - @override Widget build(BuildContext context) { return CarouselSlider.builder( @@ -145,7 +89,7 @@ class AppointmentSliderWidget extends StatelessWidget { // }, ), itemCount: 10, - itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) => buildAppointmentSliderForConsumer(), + itemBuilder: (BuildContext context, int itemIndex, int pageViewIndex) => buildAppointmentContainerForProvider(), ); }