From 92ce97b5531eb8d222dc2ede91aac3460627c1a1 Mon Sep 17 00:00:00 2001 From: "dinesh.patil" Date: Wed, 29 Oct 2025 16:13:10 +0530 Subject: [PATCH] working on my pass section --- assets/images/empty_buy_ pass.png | Bin 0 -> 117740 bytes assets/images/qr_image.png | Bin 0 -> 18116 bytes lib/attractions/blocs/attractions_bloc.dart | 5 + lib/attractions/blocs/attractions_event.dart | 2 + lib/attractions/models/attraction_model.dart | 4 + .../repository/attractions_repository.dart | 70 +++++ .../views/attractions_page_view.dart | 38 +-- lib/attractions/widget/attraction_card.dart | 203 ++++++++----- lib/core/app_router.dart | 3 +- lib/core/inside_bottom_navigator.dart | 22 +- lib/core/route_constants.dart | 2 + lib/home/views/home_page_view.dart | 2 + lib/home/views/registered_user_home_page.dart | 2 +- lib/main.dart | 27 +- lib/my_pass/blocs/my_pass_bloc.dart | 55 ++++ lib/my_pass/models/my_pass_model.dart | 21 ++ lib/my_pass/views/my_pass_page_view.dart | 168 +++++++++++ lib/my_pass/views/qr_pass_page_view.dart | 142 +++++++++ lib/my_pass/widgets/action_button_widget.dart | 40 +++ lib/my_pass/widgets/pass_widget.dart | 285 ++++++++++++++++++ lib/my_pass/widgets/qr_container_widget.dart | 90 ++++++ 21 files changed, 1068 insertions(+), 113 deletions(-) create mode 100644 assets/images/empty_buy_ pass.png create mode 100644 assets/images/qr_image.png create mode 100644 lib/my_pass/blocs/my_pass_bloc.dart create mode 100644 lib/my_pass/models/my_pass_model.dart create mode 100644 lib/my_pass/views/my_pass_page_view.dart create mode 100644 lib/my_pass/views/qr_pass_page_view.dart create mode 100644 lib/my_pass/widgets/action_button_widget.dart create mode 100644 lib/my_pass/widgets/pass_widget.dart create mode 100644 lib/my_pass/widgets/qr_container_widget.dart diff --git a/assets/images/empty_buy_ pass.png b/assets/images/empty_buy_ pass.png new file mode 100644 index 0000000000000000000000000000000000000000..87e47564f03d4abfe27a04dbe3f3012bffcf8ffe GIT binary patch literal 117740 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 VoS!R`EKg9EtfZ1extP(9{|BKc6fgh) literal 0 HcmV?d00001 diff --git a/assets/images/qr_image.png b/assets/images/qr_image.png new file mode 100644 index 0000000000000000000000000000000000000000..4a3a7515ba917d9a567ebb0f2c1f0b5dba2d8042 GIT binary patch literal 18116 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 literal 0 HcmV?d00001 diff --git a/lib/attractions/blocs/attractions_bloc.dart b/lib/attractions/blocs/attractions_bloc.dart index 7805d9f..ca8e7ec 100644 --- a/lib/attractions/blocs/attractions_bloc.dart +++ b/lib/attractions/blocs/attractions_bloc.dart @@ -14,6 +14,11 @@ class AttractionsBloc extends Bloc { emit(AttractionsLoaded(attractions)); }); + on((event, emit) { + final attractions = repository.fetchMyPassAttraction(); + emit(AttractionsLoaded(attractions)); + }); + on((event, emit) { if (state is AttractionsLoaded) { final currentState = state as AttractionsLoaded; diff --git a/lib/attractions/blocs/attractions_event.dart b/lib/attractions/blocs/attractions_event.dart index 4db5651..afa0000 100644 --- a/lib/attractions/blocs/attractions_event.dart +++ b/lib/attractions/blocs/attractions_event.dart @@ -4,6 +4,8 @@ abstract class AttractionsEvent {} class LoadAttractions extends AttractionsEvent {} +class LoadMyPassAttraction extends AttractionsEvent {} + class SearchAttractions extends AttractionsEvent { final String query; SearchAttractions(this.query); diff --git a/lib/attractions/models/attraction_model.dart b/lib/attractions/models/attraction_model.dart index 7fcc1dd..4c37a29 100644 --- a/lib/attractions/models/attraction_model.dart +++ b/lib/attractions/models/attraction_model.dart @@ -4,6 +4,8 @@ class Attraction { final String price; final String image; final List tags; + final bool isBookingRequired; + final String description; Attraction({ required this.title, @@ -11,5 +13,7 @@ class Attraction { required this.price, required this.image, required this.tags, + required this.isBookingRequired, + required this.description }); } diff --git a/lib/attractions/repository/attractions_repository.dart b/lib/attractions/repository/attractions_repository.dart index 55e0f7d..dba0114 100644 --- a/lib/attractions/repository/attractions_repository.dart +++ b/lib/attractions/repository/attractions_repository.dart @@ -9,6 +9,9 @@ class AttractionsRepository { price: "\$25", image: "assets/dummy/dummy_1.jpg", tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: false, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", ), Attraction( title: "Siem Reap", @@ -16,6 +19,9 @@ class AttractionsRepository { price: "\$25", image: "assets/dummy/dummy_2.jpg", tags: ["Unlimited Card"], + isBookingRequired: false, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", ), Attraction( title: "Dart Palace", @@ -23,6 +29,9 @@ class AttractionsRepository { price: "\$25", image: "assets/dummy/dummy_3.jpg", tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: false, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", ), Attraction( title: "Koh Rong Samloem", @@ -30,6 +39,9 @@ class AttractionsRepository { price: "\$25", image: "assets/dummy/dummy_4.jpg", tags: ["Flexi Card"], + isBookingRequired: false, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", ), Attraction( title: "Dart Palace", @@ -37,6 +49,64 @@ class AttractionsRepository { price: "\$25", image: "assets/dummy/dummy_5.jpg", tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: false, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", + ), + ]; + } + + List fetchMyPassAttraction() { + return [ + Attraction( + title: "Koh Rong Samloem", + location: "Krong Siem Reap", + price: "\$25", + image: "assets/dummy/dummy_1.jpg", + tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: true, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", + ), + Attraction( + title: "Siem Reap", + location: "Krong Siem Reap", + price: "\$25", + image: "assets/dummy/dummy_2.jpg", + tags: ["Unlimited Card"], + isBookingRequired: true, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", + ), + Attraction( + title: "Dart Palace", + location: "Krong Siem Reap", + price: "\$25", + image: "assets/dummy/dummy_3.jpg", + tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: true, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", + ), + Attraction( + title: "Koh Rong Samloem", + location: "Krong Siem Reap", + price: "\$25", + image: "assets/dummy/dummy_4.jpg", + tags: ["Flexi Card"], + isBookingRequired: true, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", + ), + Attraction( + title: "Dart Palace", + location: "Krong Siem Reap", + price: "\$25", + image: "assets/dummy/dummy_5.jpg", + tags: ["Unlimited Card", "Flexi Card"], + isBookingRequired: true, + description: + "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Convallis condimentum morbi non egestas enim amet sagittis. Proin sed aliquet rhoncus ut pellentesque ullamcorper sit eget ac.Sit nisi, cras amet varius eget egestas pellentesque. Cursus gravida euismod non... ", ), ]; } diff --git a/lib/attractions/views/attractions_page_view.dart b/lib/attractions/views/attractions_page_view.dart index 7c4c3f6..9621fcd 100644 --- a/lib/attractions/views/attractions_page_view.dart +++ b/lib/attractions/views/attractions_page_view.dart @@ -1,4 +1,5 @@ import 'package:citycards_customer/common_packages/app_bar.dart'; +import 'package:citycards_customer/common_packages/back_widget.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; @@ -9,12 +10,24 @@ import '../widget/attraction_card.dart'; import '../widget/filter_chip.dart'; class AttractionsPage extends StatelessWidget { - const AttractionsPage({super.key}); + final String source; + const AttractionsPage({super.key, required this.source}); @override Widget build(BuildContext context) { return BlocProvider( - create: (_) => AttractionsBloc(AttractionsRepository())..add(LoadAttractions()), + create: (_) { + final bloc = AttractionsBloc(AttractionsRepository()); + + // πŸ”₯ Trigger event based on source + if (source == "home") { + bloc.add(LoadAttractions()); + } else if (source == "qrPass") { + bloc.add(LoadMyPassAttraction()); + } + + return bloc; + }, child: BlocBuilder( builder: (context, state) { final bloc = context.read(); @@ -29,26 +42,7 @@ class AttractionsPage extends StatelessWidget { children: [ // App bar CommonAppBar(isWhiteLogo: false, isProfilePage: false), - SizedBox(height: 22.h), - - // Back row - Row( - children: [ - GestureDetector( - onTap: () => Navigator.pop(context), - child: Icon(Icons.arrow_back, size: 24.sp), - ), - SizedBox(width: 8.w), - Text( - "Your Attraction", - style: TextStyle( - fontSize: 14.sp, - fontWeight: FontWeight.w400, - color: Colors.black87, - ), - ), - ], - ), + backWidget(context, "Your Attraction"), const SizedBox(height: 20), // πŸ” Search field diff --git a/lib/attractions/widget/attraction_card.dart b/lib/attractions/widget/attraction_card.dart index d6b2a9b..14b56e1 100644 --- a/lib/attractions/widget/attraction_card.dart +++ b/lib/attractions/widget/attraction_card.dart @@ -1,5 +1,6 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import '../../core/route_constants.dart'; import '../models/attraction_model.dart'; class AttractionCard extends StatelessWidget { @@ -8,91 +9,133 @@ class AttractionCard extends StatelessWidget { @override Widget build(BuildContext context) { - return Container( - margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 8), - padding: const EdgeInsets.all(12), - decoration: BoxDecoration( - border: Border.all(color: const Color(0xffFDCDCE)), - borderRadius: BorderRadius.circular(15), - color: Color(0xffFFF5F5), - ), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - ClipRRect( - borderRadius: BorderRadius.circular(8), - child: Image.asset( - attraction.image, - height: 94, - width: 94, - fit: BoxFit.cover, + return InkWell( + onTap: (){ + Navigator.of(context).pushNamed(RouteConstants.attractionDetails); + }, + child: Container( + margin: const EdgeInsets.symmetric(vertical: 8, horizontal: 8), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + border: Border.all(color: const Color(0xffFDCDCE)), + borderRadius: BorderRadius.circular(15), + color: Color(0xffFFF5F5), + ), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ClipRRect( + borderRadius: BorderRadius.circular(8), + child: Image.asset( + attraction.image, + height: 94, + width: 94, + fit: BoxFit.cover, + ), ), - ), - const SizedBox(width: 10), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text(attraction.title, - style: TextStyle( - fontSize: 16, fontWeight: FontWeight.w500)), - const SizedBox(height: 6), - Text(attraction.location, - style: GoogleFonts.poppins( - fontSize: 12, fontWeight: FontWeight.w400, color: Color(0xff464646))), - const SizedBox(height: 6), - Text.rich( - TextSpan( - children: [ - TextSpan( - text: "from ${attraction.price}", - style: const TextStyle( - fontSize: 12, - fontWeight: FontWeight.w600, - color: Colors.black, - ), - ), - const TextSpan( - text: "/person", - style: - TextStyle(fontSize: 10, color: Colors.black, fontWeight: FontWeight.w400,), - ), - ], + const SizedBox(width: 10), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + attraction.title, + style: TextStyle(fontSize: 16, fontWeight: FontWeight.w500), ), - ), - const SizedBox(height: 6), - Wrap( - spacing: 6, - children: attraction.tags - .map((tag) => Container( - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 4), - decoration: BoxDecoration( - color: tag == "Flexi Card" - ? const Color(0xffF95FAF).withOpacity(0.1) - : const Color(0xffF95F62).withOpacity(0.1), - border: Border.all( - color: tag == "Flexi Card" - ? const Color(0xffF95FAF) - : const Color(0xffF95F62), - ), - borderRadius: BorderRadius.circular(20), + const SizedBox(height: 6), + Text( + attraction.location, + style: GoogleFonts.poppins( + fontSize: 12, + fontWeight: FontWeight.w400, + color: Color(0xff464646), ), - child: Text( - tag, - style: GoogleFonts.poppins( - fontSize: 11, - color: Color(0xff1A1A1A), - fontWeight: FontWeight.w400, - ), + ), + const SizedBox(height: 6), + Text.rich( + TextSpan( + children: [ + TextSpan( + text: "from ${attraction.price}", + style: const TextStyle( + fontSize: 12, + fontWeight: FontWeight.w600, + color: Colors.black, + ), + ), + const TextSpan( + text: "/person", + style: TextStyle( + fontSize: 10, + color: Colors.black, + fontWeight: FontWeight.w400, + ), + ), + ], ), - )) - .toList(), - ) -, - ], + ), + const SizedBox(height: 6), + attraction.isBookingRequired == false + ? Wrap( + spacing: 6, + children: attraction.tags + .map( + (tag) => Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 4, + ), + decoration: BoxDecoration( + color: tag == "Flexi Card" + ? const Color(0xffF95FAF).withOpacity(0.1) + : const Color( + 0xffF95F62, + ).withOpacity(0.1), + border: Border.all( + color: tag == "Flexi Card" + ? const Color(0xffF95FAF) + : const Color(0xffF95F62), + ), + borderRadius: BorderRadius.circular(20), + ), + child: Text( + tag, + style: GoogleFonts.poppins( + fontSize: 11, + color: Color(0xff1A1A1A), + fontWeight: FontWeight.w400, + ), + ), + ), + ) + .toList(), + ) + : Container( + padding: const EdgeInsets.symmetric( + horizontal: 10, + vertical: 4, + ), + decoration: BoxDecoration( + color: Color(0xffC1D2F8), + border: Border.all( + color: Color(0xff2563EB), + ), + borderRadius: BorderRadius.circular(20), + ), + child: Text( + "Booking Required", + style: GoogleFonts.poppins( + fontSize: 11, + color: Color(0xff1A1A1A), + fontWeight: FontWeight.w400, + ), + ), + ), + ], + ), ), - ), - ], + ], + ), ), ); } diff --git a/lib/core/app_router.dart b/lib/core/app_router.dart index 06af037..246ad54 100644 --- a/lib/core/app_router.dart +++ b/lib/core/app_router.dart @@ -40,7 +40,8 @@ class AppRouter { }, ); case RouteConstants.attractionsPage: - return MaterialPageRoute(builder: (_) => const AttractionsPage()); + final args = settings.arguments as String; + return MaterialPageRoute(builder: (_) => AttractionsPage(source: args)); case RouteConstants.profile: return MaterialPageRoute( builder: (_) { diff --git a/lib/core/inside_bottom_navigator.dart b/lib/core/inside_bottom_navigator.dart index cba13a3..c7256ba 100644 --- a/lib/core/inside_bottom_navigator.dart +++ b/lib/core/inside_bottom_navigator.dart @@ -1,9 +1,12 @@ import 'package:citycards_customer/core/route_constants.dart'; +import 'package:citycards_customer/my_pass/blocs/my_pass_bloc.dart'; import 'package:citycards_customer/postcard/views/add_filter_step_page_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import '../attraction_details/attraction_details_view.dart'; import '../attractions/views/attractions_page_view.dart'; +import '../my_pass/views/qr_pass_page_view.dart'; import '../postcard/blocs/postcard_creation_bloc.dart'; import '../postcard/views/postcard_creation_page_view.dart'; @@ -24,10 +27,15 @@ Widget buildOffstageNavigator( // πŸ”Ή Attractions Page case RouteConstants.attractionsPage: + final args = settings.arguments as String; return MaterialPageRoute( - builder: (_) => const AttractionsPage(), + builder: (_) => AttractionsPage(source: args,), ); + case RouteConstants.attractionDetails: + return MaterialPageRoute(builder: (_) { + return AttractionDetailsView(); + }); // πŸ”Ή Upload Photo Page (start of postcard creation flow) case RouteConstants.uploadPhotoPage: return MaterialPageRoute( @@ -49,6 +57,18 @@ Widget buildOffstageNavigator( }, ); + + case RouteConstants.qrPage: + return MaterialPageRoute( + builder: (context) { + final previousBloc = BlocProvider.of(context); + return BlocProvider.value( + value: previousBloc, + child: const QrPassView(), + ); + }, + ); + default: return MaterialPageRoute( builder: (_) => const Scaffold( diff --git a/lib/core/route_constants.dart b/lib/core/route_constants.dart index 111469e..1ff1ba5 100644 --- a/lib/core/route_constants.dart +++ b/lib/core/route_constants.dart @@ -42,4 +42,6 @@ class RouteConstants { /************************** My card page ***************************************/ static const String cartPage = '/cartPage'; + + static const String qrPage = '/qrPage'; } diff --git a/lib/home/views/home_page_view.dart b/lib/home/views/home_page_view.dart index 6ae66db..2309347 100644 --- a/lib/home/views/home_page_view.dart +++ b/lib/home/views/home_page_view.dart @@ -5,6 +5,7 @@ import '../../common_bloc/bottom_navigation_bloc.dart'; import '../../common_packages/custom_bottom_navbar.dart'; import '../../core/inside_bottom_navigator.dart'; import '../../itinerary_creation/views/itinerary_creation_start_view.dart'; +import '../../my_pass/views/my_pass_page_view.dart'; import '../../postcard/views/postcard_initial_page_view.dart'; import 'first_time_user_home_page.dart'; @@ -36,6 +37,7 @@ class _HomePageState extends State { children: [ buildOffstageNavigator(0, currentIndex, const FirstTimeUserHomePage(), _navigatorKeys[0]), buildOffstageNavigator(1, currentIndex, const ItineraryCreationStartPage(), _navigatorKeys[1]), + buildOffstageNavigator(2, currentIndex, const MyPassesView(), _navigatorKeys[2]), buildOffstageNavigator(3, currentIndex, const PostcardPage(), _navigatorKeys[3]), ], ), diff --git a/lib/home/views/registered_user_home_page.dart b/lib/home/views/registered_user_home_page.dart index c037d34..5d40b71 100644 --- a/lib/home/views/registered_user_home_page.dart +++ b/lib/home/views/registered_user_home_page.dart @@ -127,7 +127,7 @@ class _RegisteredUserHomePageState extends State { ), InkWell( onTap: (){ - Navigator.of(context).pushNamed(RouteConstants.attractionsPage); + Navigator.of(context).pushNamed(RouteConstants.attractionsPage, arguments: "home"); }, child: Text("View all", style: TextStyle( diff --git a/lib/main.dart b/lib/main.dart index 35341e4..216c347 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,12 +1,15 @@ +import 'package:citycards_customer/cart/blocs/postcard_bloc.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:google_fonts/google_fonts.dart'; import 'core/app_router.dart'; -import 'core/route_constants.dart'; +import 'my_pass/blocs/my_pass_bloc.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); + SystemChrome.setSystemUIOverlayStyle( const SystemUiOverlayStyle( statusBarColor: Colors.white, @@ -14,6 +17,7 @@ void main() { statusBarBrightness: Brightness.light, ), ); + runApp(MyApp()); } @@ -27,13 +31,20 @@ class MyApp extends StatelessWidget { return ScreenUtilInit( designSize: const Size(390, 844), builder: (context, child) { - return MaterialApp( - onGenerateRoute: _appRouter.onGenerateRoute, - debugShowCheckedModeBanner: false, - title: 'City Cards', - theme: ThemeData( - textTheme: GoogleFonts.poppinsTextTheme( - Theme.of(context).textTheme, + return MultiBlocProvider( + providers: [ + BlocProvider( + create: (_) => MyPassBloc()..add(LoadMyPasses()), + ), + ], + child: MaterialApp( + onGenerateRoute: _appRouter.onGenerateRoute, + debugShowCheckedModeBanner: false, + title: 'City Cards', + theme: ThemeData( + textTheme: GoogleFonts.poppinsTextTheme( + Theme.of(context).textTheme, + ), ), ), ); diff --git a/lib/my_pass/blocs/my_pass_bloc.dart b/lib/my_pass/blocs/my_pass_bloc.dart new file mode 100644 index 0000000..1559b83 --- /dev/null +++ b/lib/my_pass/blocs/my_pass_bloc.dart @@ -0,0 +1,55 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import '../models/my_pass_model.dart'; + +abstract class MyPassEvent {} +class LoadMyPasses extends MyPassEvent {} + +abstract class MyPassState {} +class MyPassLoading extends MyPassState {} +class SelectPass extends MyPassEvent { + final MyPassModel selectedPass; + SelectPass(this.selectedPass); +} +class MyPassEmpty extends MyPassState {} +class MyPassLoaded extends MyPassState { + final List passes; + final MyPassModel? selectedPass; + MyPassLoaded(this.passes, this.selectedPass); +} + +class MyPassBloc extends Bloc { + MyPassBloc() : super(MyPassLoading()) { + + on((event, emit) async { + await Future.delayed(const Duration(milliseconds: 500)); + + final List passes = [ + MyPassModel( + imageUrl: + "assets/images/city_melbourne.png", + title: "Unlimited Card", + city: "Melbourne", + validity: "20/09/2025", + adults: 3, + kids: 3, + duration: "2 Days", + isActive: true, + ), + ]; + + // If no passes, show empty screen + if (passes.isEmpty) { + emit(MyPassEmpty()); + } else { + emit(MyPassLoaded(passes, null)); + } + }); + + on((event, emit) { + if (state is MyPassLoaded) { + final current = state as MyPassLoaded; + emit(MyPassLoaded(current.passes, event.selectedPass)); + } + }); + } +} diff --git a/lib/my_pass/models/my_pass_model.dart b/lib/my_pass/models/my_pass_model.dart new file mode 100644 index 0000000..af09385 --- /dev/null +++ b/lib/my_pass/models/my_pass_model.dart @@ -0,0 +1,21 @@ +class MyPassModel { + final String imageUrl; + final String title; + final String city; + final String validity; + final int adults; + final int kids; + final String duration; + final bool isActive; + + MyPassModel({ + required this.imageUrl, + required this.title, + required this.city, + required this.validity, + required this.adults, + required this.kids, + required this.duration, + required this.isActive, + }); +} diff --git a/lib/my_pass/views/my_pass_page_view.dart b/lib/my_pass/views/my_pass_page_view.dart new file mode 100644 index 0000000..b4b5c1e --- /dev/null +++ b/lib/my_pass/views/my_pass_page_view.dart @@ -0,0 +1,168 @@ +import 'package:citycards_customer/common_packages/app_bar.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; +import '../../core/route_constants.dart'; +import '../blocs/my_pass_bloc.dart'; +import '../widgets/pass_widget.dart'; + +class MyPassesView extends StatelessWidget { + const MyPassesView({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + if (state is MyPassLoading) { + return const Center(child: CircularProgressIndicator()); + } else if (state is MyPassEmpty) { + return _noPassView(context); + } else if (state is MyPassLoaded) { + return _passListView(state.passes); + } + return const SizedBox.shrink(); + }, + ); + } + + Widget _noPassView(BuildContext context) { + return Padding( + padding: EdgeInsets.symmetric(horizontal: 24.w, vertical: 30.h), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Image.asset( + 'assets/images/no_pass.png', // your woman sitting image + height: 180.h, + ), + SizedBox(height: 20.h), + Text( + "You Don’t have a Pass Yet! πŸ˜•", + style: GoogleFonts.poppins( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + color: Colors.black, + ), + textAlign: TextAlign.center, + ), + SizedBox(height: 8.h), + Text( + "Get a pass and get offers and discounts and\nmore on your trip to your favourite city", + style: GoogleFonts.poppins(fontSize: 12.sp, color: Colors.black54), + textAlign: TextAlign.center, + ), + SizedBox(height: 24.h), + GestureDetector( + onTap: () { + // Navigate to Buy a Pass + Navigator.pushNamed(context, '/buyPass'); + }, + child: Container( + width: double.infinity, + padding: EdgeInsets.symmetric(vertical: 14.h), + decoration: BoxDecoration( + color: const Color(0xffFF5A5F), + borderRadius: BorderRadius.circular(30.r), + ), + child: Center( + child: Text( + "Buy a Pass", + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 14.sp, + fontWeight: FontWeight.w600, + ), + ), + ), + ), + ), + ], + ), + ); + } + + Widget _passListView(List passes) { + return Scaffold( + backgroundColor: Colors.white, + body: SafeArea( + child: SingleChildScrollView( + padding: EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + CommonAppBar(isWhiteLogo: false, isProfilePage: false), + SizedBox(height: 10.h), + Row( + children: [ + Container( + width: 130.w, + height: 36.h, + padding: EdgeInsets.symmetric(horizontal: 12.w), + decoration: BoxDecoration( + color: const Color(0xffFEE7E7), + borderRadius: BorderRadius.circular(8.r), + border: Border.all(color: const Color(0xffFDCDCE)), + ), + child: Row( + children: [ + Text( + "Sort by Date", + style: GoogleFonts.poppins(fontSize: 12.sp), + ), + const Spacer(), + const Icon(Icons.sort, size: 16), + ], + ), + ), + SizedBox(width: 10.w), + Container( + height: 36.h, + width: 130.w, + padding: EdgeInsets.symmetric(horizontal: 12.w), + decoration: BoxDecoration( + color: const Color(0xffFEE7E7), + borderRadius: BorderRadius.circular(8.r), + border: Border.all(color: const Color(0xffFDCDCE)), + ), + child: Row( + children: [ + Text( + "All", + style: GoogleFonts.poppins(fontSize: 12.sp), + ), + const Spacer(), + const Icon(Icons.keyboard_arrow_down_rounded, size: 18), + ], + ), + ), + ], + ), + SizedBox(height: 20.h), + ListView.builder( + itemCount: passes.length, + shrinkWrap: true, + physics: const NeverScrollableScrollPhysics(), + itemBuilder: (context, index) { + final pass = passes[index]; + return Padding( + padding: EdgeInsets.only(bottom: 16.h), + child: InkWell( + onTap: (){ + context.read().add(SelectPass(pass)); + Navigator.of( + context, + ).pushNamed(RouteConstants.qrPage); + }, + child: PassTicketCard(pass: pass), + ), + ); + }, + ), + ], + ), + ), + ), + ); + } +} diff --git a/lib/my_pass/views/qr_pass_page_view.dart b/lib/my_pass/views/qr_pass_page_view.dart new file mode 100644 index 0000000..9404b73 --- /dev/null +++ b/lib/my_pass/views/qr_pass_page_view.dart @@ -0,0 +1,142 @@ +import 'package:citycards_customer/my_pass/blocs/my_pass_bloc.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; + +import '../../common_packages/app_bar.dart'; +import '../../common_packages/back_widget.dart'; +import '../../core/route_constants.dart'; +import '../widgets/action_button_widget.dart'; +import '../widgets/qr_container_widget.dart'; + +class QrPassView extends StatelessWidget { + const QrPassView({super.key}); + + @override + Widget build(BuildContext context) { + return BlocBuilder( + builder: (context, state) { + if (state is MyPassLoaded) { + final pass = state.selectedPass!; + return SafeArea( + child: Scaffold( + backgroundColor: Colors.white, + body: SingleChildScrollView( + padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 20.h), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + CommonAppBar(isWhiteLogo: false, isProfilePage: false), + SizedBox(height: 10.h), + backWidget(context, "Back"), + SizedBox(height: 20.h), + SizedBox(height: 10.h), + Text( + "Scan this at the site of\nattraction", + textAlign: TextAlign.center, + style: GoogleFonts.poppins( + fontSize: 13.sp, + color: Colors.black87, + ), + ), + SizedBox(height: 20.h), + + /// ♻️ Reusable QR Container Component + QrContainerWidget( + qrImagePath: "assets/images/qr_image.png", + cityCardTitle: "Melbourne CityCards", + qrCode: "IYFHHVN254ADSD", + cardType: pass.title, + ), + + SizedBox(height: 24.h), + + /// 🎟 Card details section + Container( + padding: EdgeInsets.symmetric( + vertical: 10, + horizontal: 40, + ), + decoration: BoxDecoration( + color: pass.title.toLowerCase() == "unlimited card" + ? const Color(0xffF95F62).withOpacity(0.1) + : const Color(0xffF95FAF).withOpacity(0.1), + borderRadius: BorderRadius.circular(25.r), + border: Border.all( + color: pass.title.toLowerCase() == "unlimited card" + ? const Color(0xffF95F62) + : const Color(0xffF95FAF), + ), + ), + child: Text( + pass.title, + style: GoogleFonts.poppins( + fontSize: 16.sp, + color: const Color(0xffFF5A5F), + fontWeight: FontWeight.w500, + ), + ), + ), + SizedBox(height: 6.h), + Text( + "Adults-${pass.adults} β€’ Kids-${pass.kids} β€’ ${pass.duration}", + style: GoogleFonts.poppins( + fontSize: 12.sp, + color: Color(0xff212121), + fontWeight: FontWeight.w400, + ), + ), + SizedBox(height: 4.h), + Text( + "Valid Till: ${pass.validity}", + style: GoogleFonts.poppins( + fontSize: 12.sp, + color: Color(0xff212121), + fontWeight: FontWeight.w400, + ), + ), + + SizedBox(height: 28.h), + Align( + alignment: Alignment.centerLeft, + child: Text( + "Learn about policies", + style: GoogleFonts.poppins( + color: Colors.black, + fontSize: 12.sp, + fontWeight: FontWeight.w500, + decoration: TextDecoration.underline, + ), + ), + ), + SizedBox(height: 24.h), + + /// πŸ”˜ Buttons + Column( + children: [ + actionButton( + label: "View All Attractions", + onPressed: () { + Navigator.of(context).pushNamed(RouteConstants.attractionsPage, arguments: "qrPass"); + }, + ), + SizedBox(height: 12.h), + actionButton( + label: "View All Available Offers", + onPressed: () {}, + ), + ], + ), + ], + ), + ), + ), + ); + } else { + return const Center(child: CircularProgressIndicator()); + } + }, + ); + } +} diff --git a/lib/my_pass/widgets/action_button_widget.dart b/lib/my_pass/widgets/action_button_widget.dart new file mode 100644 index 0000000..6bbef94 --- /dev/null +++ b/lib/my_pass/widgets/action_button_widget.dart @@ -0,0 +1,40 @@ +import "package:flutter/material.dart"; +import "package:flutter_screenutil/flutter_screenutil.dart"; +import "package:google_fonts/google_fonts.dart"; + +Widget actionButton({ + required String label, + required VoidCallback onPressed, +}) { + return GestureDetector( + onTap: onPressed, + child: Container( + width: double.infinity, + padding: EdgeInsets.symmetric(vertical: 14.h, horizontal: 14.w), + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(10.r), + color: const Color(0xffFFF5F5), + border: Border.all(color: const Color(0xffF5C2C2)), + ), + child: Row( + mainAxisSize: MainAxisSize.min, + children: [ + Text( + label, + style: GoogleFonts.poppins( + color: Colors.black87, + fontWeight: FontWeight.w500, + fontSize: 13.sp, + ), + ), + SizedBox(width: 4.w), + const Icon( + Icons.arrow_forward_ios_rounded, + size: 14, + color: Colors.black54, + ), + ], + ), + ), + ); +} \ No newline at end of file diff --git a/lib/my_pass/widgets/pass_widget.dart b/lib/my_pass/widgets/pass_widget.dart new file mode 100644 index 0000000..ace5562 --- /dev/null +++ b/lib/my_pass/widgets/pass_widget.dart @@ -0,0 +1,285 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; + +class PassTicketCard extends StatelessWidget { + final dynamic pass; + + const PassTicketCard({super.key, required this.pass}); + + @override + Widget build(BuildContext context) { + // Dimensions tuned to your screenshot + final double cardWidth = MediaQuery.of(context).size.width - 32.w; + final double topSectionHeight = 105.h; // where dotted line sits + final double bottomSectionHeight = 50.h; + final double cardHeight = topSectionHeight + bottomSectionHeight; + + return SizedBox( + width: cardWidth, + child: CustomPaint( + // paints white background, border, corner radius, side cuts, shadow, and divider dots + painter: _TicketBackgroundPainter( + cornerRadius: 16.r, + notchRadius: 9.r, + dividerY: topSectionHeight, + borderColor: Colors.white, + shadowColor: Colors.black.withOpacity(0.08), + ), + child: ClipPath( + // actual clipping so child content never bleeds outside the shape + clipper: _TicketClipper( + cornerRadius: 16.r, + notchRadius: 9.r, + dividerY: topSectionHeight, + ), + child: Container( + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 12.h), + child: Column( + children: [ + // ---------- TOP SECTION ---------- + SizedBox( + height: topSectionHeight - 12.h, // keep space for the dots line + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + // thumbnail + ClipRRect( + borderRadius: BorderRadius.circular(10.r), + child: Image.asset( + pass.imageUrl, + height: 80.h, + width: 80.w, + fit: BoxFit.cover, + ), + ), + SizedBox(width: 10.w), + + // details + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + if (pass.isActive) + Container( + padding: EdgeInsets.symmetric( + horizontal: 8.w, vertical: 3.h), + decoration: BoxDecoration( + color: const Color(0xff439F6E), + borderRadius: BorderRadius.circular(30.r), + ), + child: Text( + "Active", + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 10.sp, + fontWeight: FontWeight.w400, + ), + ), + ), + SizedBox(width: 8.w), + Text( + pass.duration, // "2 Days" + style: GoogleFonts.poppins( + color: Colors.black87, + fontSize: 12.sp, + ), + ), + ], + ), + SizedBox(height: 10.h), + Text( + pass.title, + style: GoogleFonts.poppins( + fontWeight: FontWeight.w600, + fontSize: 18.sp, + height: 1.1, + ), + ), + SizedBox(height: 4.h), + Text( + "Adults-${pass.adults} β€’ Kids-${pass.kids}", + style: GoogleFonts.poppins( + color: Colors.black54, + fontSize: 11.sp, + ), + ), + ], + ), + ), + + // QR chip + CircleAvatar( + radius: 20.r, + backgroundColor: Color(0xffFEE7E7), + child: Image.asset( + "assets/images/qr_image.png", + scale: 6, + ), + ) + ], + ), + ), + + // space exactly where the dotted line is painted by the painter + SizedBox(height: 15.h), + + // ---------- BOTTOM SECTION ---------- + Padding( + padding: EdgeInsets.symmetric(horizontal: 4.w), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + "Valid Till: ${pass.validity}", + style: GoogleFonts.poppins( + fontSize: 11.sp, + color: Colors.black, + fontWeight: FontWeight.w400 + ), + ), + Text( + pass.city, // "Melbourne" + style: GoogleFonts.poppins( + fontWeight: FontWeight.w500, + fontSize: 13.sp, + ), + ), + ], + ), + ), + ], + ), + ), + ), + ), + ); + } +} + +/// Clips the ticket with rounded corners and 2 side β€œcuts” centered at dividerY +class _TicketClipper extends CustomClipper { + final double cornerRadius; + final double notchRadius; + final double dividerY; + + _TicketClipper({ + required this.cornerRadius, + required this.notchRadius, + required this.dividerY, + }); + + @override + Path getClip(Size size) { + final rrectPath = Path() + ..addRRect(RRect.fromRectAndRadius( + Rect.fromLTWH(0, 0, size.width, size.height), + Radius.circular(cornerRadius), + )); + + final cuts = Path() + ..addOval(Rect.fromCircle(center: Offset(0, dividerY), radius: notchRadius)) + ..addOval(Rect.fromCircle(center: Offset(size.width, dividerY), radius: notchRadius)); + + // Rounded-rect MINUS the two circles + return Path.combine(PathOperation.difference, rrectPath, cuts); + } + + @override + bool shouldReclip(covariant _TicketClipper old) => + cornerRadius != old.cornerRadius || + notchRadius != old.notchRadius || + dividerY != old.dividerY; +} + + +/// Paints fill, border, shadow and the dotted perforation line +class _TicketBackgroundPainter extends CustomPainter { + final double cornerRadius; + final double notchRadius; + final double dividerY; + final Color borderColor; + final Color shadowColor; + + _TicketBackgroundPainter({ + required this.cornerRadius, + required this.notchRadius, + required this.dividerY, + required this.borderColor, + required this.shadowColor, + }); + + Path _ticketPath(Size size) { + final clipper = _TicketClipper( + cornerRadius: cornerRadius, + notchRadius: notchRadius, + dividerY: dividerY, + ); + return clipper.getClip(size); + } + + @override + void paint(Canvas canvas, Size size) { + final path = _ticketPath(size); + + // Realistic layered shadow + canvas.save(); + canvas.translate(0, 2); // tiny downward offset for depth + final shadowPaint = Paint() + ..color = Colors.black.withOpacity(0.10) + ..maskFilter = const MaskFilter.blur(BlurStyle.normal, 6); + canvas.drawPath(path, shadowPaint); + canvas.restore(); + + // Subtle ambient shadow (light spread around) + final ambientShadowPaint = Paint() + ..color = Colors.black.withOpacity(0.04) + ..maskFilter = const MaskFilter.blur(BlurStyle.normal, 12); + canvas.drawPath(path, ambientShadowPaint); + + // Fill background + final fillPaint = Paint() + ..style = PaintingStyle.fill + ..color = const Color(0xffFFFBFB); + canvas.drawPath(path, fillPaint); + + // Border stroke + final strokePaint = Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 0.8 + ..color = const Color(0xffE5E5E5); + canvas.drawPath(path, strokePaint); + + // πŸ”Ή Dotted perforation line + final dashPaint = Paint() + ..style = PaintingStyle.stroke + ..strokeWidth = 1 + ..color = const Color(0xff787878); + + const double dashWidth = 4; + const double dashSpace = 4; + double startX = 12; + final double endX = size.width - 12; + + while (startX < endX) { + final double currentEnd = (startX + dashWidth).clamp(0, endX); + canvas.drawLine( + Offset(startX, dividerY), + Offset(currentEnd, dividerY), + dashPaint, + ); + startX += dashWidth + dashSpace; + } + } + + @override + bool shouldRepaint(covariant _TicketBackgroundPainter oldDelegate) { + return cornerRadius != oldDelegate.cornerRadius || + notchRadius != oldDelegate.notchRadius || + dividerY != oldDelegate.dividerY || + borderColor != oldDelegate.borderColor || + shadowColor != oldDelegate.shadowColor; + } +} diff --git a/lib/my_pass/widgets/qr_container_widget.dart b/lib/my_pass/widgets/qr_container_widget.dart new file mode 100644 index 0000000..74596f7 --- /dev/null +++ b/lib/my_pass/widgets/qr_container_widget.dart @@ -0,0 +1,90 @@ +import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:google_fonts/google_fonts.dart'; + +class QrContainerWidget extends StatelessWidget { + final String qrImagePath; + final String cityCardTitle; + final String qrCode; + final String cardType; + + const QrContainerWidget({ + super.key, + required this.qrImagePath, + required this.cityCardTitle, + required this.qrCode, + required this.cardType + }); + + @override + Widget build(BuildContext context) { + return Container( + width: double.infinity, + height: 380.h, + margin: EdgeInsets.symmetric(horizontal: 20.w), + padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 20.h), + decoration: BoxDecoration( + color: const Color(0xffF95F62).withOpacity(0.1), + borderRadius: BorderRadius.circular(14.r), + border: Border.all(color: cardType.toLowerCase() == "unlimited card" ? const Color(0xffF95F62) : const Color(0xffF95FAF), width: 2), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + cityCardTitle, + style: GoogleFonts.poppins( + fontSize: 18.sp, + color: cardType.toLowerCase() == "unlimited card" ? const Color(0xffF95F62) : const Color(0xffF95FAF), + fontWeight: FontWeight.w500, + ), + ), + + Image.asset( + qrImagePath, + height: 250.h, + width: 250.w, + fit: BoxFit.contain, + ), + + Row( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text( + qrCode, + style: GoogleFonts.poppins( + fontWeight: FontWeight.w500, + fontSize: 15.sp, + color: Color(0xff212121) + ), + ), + SizedBox(width: 6.w), + GestureDetector( + onTap: () async { + await Clipboard.setData(ClipboardData(text: qrCode)); + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text( + "Code copied to clipboard!", + style: GoogleFonts.poppins( + color: Colors.white, + fontSize: 12.sp, + ), + ), + backgroundColor: Colors.black87, + behavior: SnackBarBehavior.floating, + duration: const Duration(seconds: 2), + ), + ); + }, + child: const Icon(Icons.copy, size: 18, color: Color(0xff212121)), + ), + ], + ), + ], + ), + ); + } +}