From 0434b16bde62791d22c1a732829e85adae136024 Mon Sep 17 00:00:00 2001 From: mystery012728 Date: Wed, 28 Jan 2026 19:28:37 +0530 Subject: [PATCH] added userdetails api get and put and more changes --- assets/images/guest_illustration.png | Bin 0 -> 104327 bytes assets/images/not_login.png | Bin 0 -> 106669 bytes lib/common_packages/custom_text.dart | 7 +- lib/common_packages/custom_textfield.dart | 52 +- lib/core/app_router.dart | 4 +- lib/core/inside_bottom_navigator.dart | 4 +- .../bloc/create_account_bloc.dart | 9 + lib/edit_profile/edit_profile_view.dart | 488 ++++++++++++------ lib/home/views/home_page_view.dart | 4 +- .../views/magic_itinerary_empty_view.dart | 9 +- .../views/magic_itinerary_filled_view.dart | 174 ------- .../views/magic_itinerary_view.dart | 273 ++++++++++ lib/localPreference/local_database.dart | 16 + lib/localPreference/local_preference.dart | 57 ++ lib/login/bloc/verify/verify_bloc.dart | 9 + lib/main.dart | 2 + lib/networkApiServices/api_urls.dart | 1 + .../network_api_services.dart | 15 +- lib/profile/bloc/profile/profile_bloc.dart | 81 +++ lib/profile/bloc/profile/profile_event.dart | 62 +++ lib/profile/bloc/profile/profile_state.dart | 58 +++ lib/profile/models/profile_model.dart | 171 ++++++ .../repository/profile_repository.dart | 33 ++ lib/profile/view/profile_page_view.dart | 452 ++++++++++++---- 24 files changed, 1533 insertions(+), 448 deletions(-) create mode 100644 assets/images/guest_illustration.png create mode 100644 assets/images/not_login.png delete mode 100644 lib/itinerary_creation/views/magic_itinerary_filled_view.dart create mode 100644 lib/itinerary_creation/views/magic_itinerary_view.dart create mode 100644 lib/profile/bloc/profile/profile_bloc.dart create mode 100644 lib/profile/bloc/profile/profile_event.dart create mode 100644 lib/profile/bloc/profile/profile_state.dart create mode 100644 lib/profile/models/profile_model.dart create mode 100644 lib/profile/repository/profile_repository.dart diff --git a/assets/images/guest_illustration.png b/assets/images/guest_illustration.png new file mode 100644 index 0000000000000000000000000000000000000000..e0aa3495fa97419a7bc99dd2f4f38bab8d2711a4 GIT binary patch literal 104327 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
_A6L7dC@O-K&aL_N^#-f7^QCwEBYZ@y8}-Jw-Td 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 QfPa~1YzVuLH*k&pFRw6*7XSbN literal 0 HcmV?d00001 diff --git a/assets/images/not_login.png b/assets/images/not_login.png new file mode 100644 index 0000000000000000000000000000000000000000..7dac2af819735422040911b8b6861375c61a7c70 GIT binary patch literal 106669 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%0D46oNlstdRXH?b-^ARQtnj3k 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 1 ? 12.h : 0, // ✅ Better padding for multiline + ), + suffixIcon: suffixIcon, // ✅ Added suffix icon enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(8.r), borderSide: BorderSide( @@ -68,6 +86,24 @@ class CustomTextField extends StatelessWidget { width: .4.w, ), ), + errorBorder: OutlineInputBorder( // ✅ NEW: Error state border + borderRadius: BorderRadius.circular(8.r), + borderSide: BorderSide( + color: Colors.red, + width: 1.w, + ), + ), + focusedErrorBorder: OutlineInputBorder( // ✅ NEW: Focused error state + borderRadius: BorderRadius.circular(8.r), + borderSide: BorderSide( + color: Colors.red, + width: 1.5.w, + ), + ), + errorStyle: TextStyle( // ✅ NEW: Error text style + fontSize: 11.sp, + color: Colors.red, + ), ), ), ), @@ -75,4 +111,4 @@ class CustomTextField extends StatelessWidget { ), ); } -} +} \ No newline at end of file diff --git a/lib/core/app_router.dart b/lib/core/app_router.dart index 1def1b5..dd0c2c9 100644 --- a/lib/core/app_router.dart +++ b/lib/core/app_router.dart @@ -16,7 +16,7 @@ import 'package:citycards_customer/itinerary_creation/bloc/itinerary_steps_selec import 'package:citycards_customer/itinerary_creation/views/itinerary_creation_start_view.dart'; import 'package:citycards_customer/itinerary_creation/views/itinerary_creation_view.dart'; import 'package:citycards_customer/itinerary_creation/views/magic_itinerary_empty_view.dart'; -import 'package:citycards_customer/itinerary_creation/views/magic_itinerary_filled_view.dart'; +import 'package:citycards_customer/itinerary_creation/views/magic_itinerary_view.dart'; import 'package:citycards_customer/offer_pass_detail/offer_pass_detail_view.dart'; import 'package:citycards_customer/search_offers/bloc/search_offers_listing_bloc.dart'; import 'package:citycards_customer/search_offers/view/search_offers_with_listing.dart'; @@ -221,7 +221,7 @@ class AppRouter { case RouteConstants.magicItineraryFilledScreen: return MaterialPageRoute( builder: (_) { - return MagicItineraryFilledView(); + return MagicItineraryView(); }, ); diff --git a/lib/core/inside_bottom_navigator.dart b/lib/core/inside_bottom_navigator.dart index 73664f6..95017ca 100644 --- a/lib/core/inside_bottom_navigator.dart +++ b/lib/core/inside_bottom_navigator.dart @@ -15,7 +15,7 @@ import '../intro_screens/views/intro_screen_view.dart'; import '../itinerary_creation/bloc/itinerary_detail_bloc.dart'; import '../itinerary_creation/bloc/itinerary_steps_selection_bloc.dart'; import '../itinerary_creation/views/itinerary_creation_view.dart'; -import '../itinerary_creation/views/magic_itinerary_filled_view.dart'; +import '../itinerary_creation/views/magic_itinerary_view.dart'; import '../my_pass/views/booking_page_view.dart'; import '../my_pass/views/booking_successful_page_view.dart'; import '../my_pass/views/qr_pass_page_view.dart'; @@ -155,7 +155,7 @@ Widget buildOffstageNavigator( case RouteConstants.magicItineraryFilledScreen: return MaterialPageRoute(builder: (_){ - return MagicItineraryFilledView(); + return MagicItineraryView(); }); case RouteConstants.checkout: diff --git a/lib/create_account/bloc/create_account_bloc.dart b/lib/create_account/bloc/create_account_bloc.dart index aa6c0e4..6c2abcd 100644 --- a/lib/create_account/bloc/create_account_bloc.dart +++ b/lib/create_account/bloc/create_account_bloc.dart @@ -36,6 +36,15 @@ class CreateAccountBloc extends Bloc { refreshToken: userModel.refreshToken, refreshTokenMaxAge: userModel.refreshTokenMaxAge, ); + await LocalPreference.setUserDetails( + userId: userModel.user.id, + firstName: userModel.user.firstName, + lastName: userModel.user.lastName, + fullName: userModel.user.fullName, + emailAddress: userModel.user.emailAddress, + role: userModel.user.role, + roleId: userModel.user.roleId, + ); emit(CreateAccountSuccess( message: response['message'] ?? 'Account created successfully', userData: response['data'] ?? {}, diff --git a/lib/edit_profile/edit_profile_view.dart b/lib/edit_profile/edit_profile_view.dart index 809cc07..f6b9d2a 100644 --- a/lib/edit_profile/edit_profile_view.dart +++ b/lib/edit_profile/edit_profile_view.dart @@ -4,169 +4,351 @@ import 'package:citycards_customer/common_packages/custom_textfield.dart'; import 'package:flutter/material.dart'; import 'package:citycards_customer/common_packages/custom_text.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'package:flutter_bloc/flutter_bloc.dart'; -class EditProfilePage extends StatelessWidget { +import '../../localPreference/local_preference.dart'; +import '../profile/bloc/profile/profile_bloc.dart'; +import '../profile/bloc/profile/profile_event.dart'; +import '../profile/bloc/profile/profile_state.dart'; +import '../profile/models/profile_model.dart'; + +class EditProfilePage extends StatefulWidget { const EditProfilePage({super.key}); @override - Widget build(BuildContext context) { - final TextEditingController firstNameController = TextEditingController(); - final TextEditingController lastNameController = TextEditingController(); - final TextEditingController emailController = TextEditingController(); - final TextEditingController phoneController = TextEditingController(); - final TextEditingController addressController = TextEditingController(); + State createState() => _EditProfilePageState(); +} - return Scaffold( - backgroundColor: Colors.white, - body: SafeArea( - child: SingleChildScrollView( - padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), - child: Column( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - // Header - CommonAppBar(isWhiteLogo: false, isProfilePage: true,showDivider: true,), +class _EditProfilePageState extends State { + // Controllers + final TextEditingController firstNameController = TextEditingController(); + final TextEditingController lastNameController = TextEditingController(); + final TextEditingController phoneController = TextEditingController(); + final TextEditingController address1Controller = TextEditingController(); + final TextEditingController address2Controller = TextEditingController(); - // Back + title - backWidget(context,"Edit Profile", Colors.black), - SizedBox(height: 33.h), + final _formKey = GlobalKey(); - // Profile Image - CircleAvatar( - radius: 38.r, - backgroundImage: AssetImage("assets/images/profile_img.png"), - ), - SizedBox(height: 18.h), - Text( - "Change Profile Picture", - style: TextStyle( - fontSize: 12.sp, - color: Color(0xFFF95F62), - fontWeight: FontWeight.w400, - ), - ), - SizedBox(height: 40.h), + @override + void initState() { + super.initState(); + _fetchProfile(); + } - // Personal Information - Align( - alignment: Alignment.centerLeft, - child: CustomText( - text: "Personal Information", - size: 18.sp, - weight: FontWeight.w500, - ), - ), - SizedBox(height: 12.h), + Future _fetchProfile() async { + final userId = await LocalPreference.getUserId(); + if (userId != null) { + context.read().add(FetchProfileEvent(userId: userId)); + } + } - Padding( - padding: EdgeInsets.symmetric(horizontal: 12.w), - child: CustomTextField( - label: "First Name", - hint: "Enter your first name", - controller: firstNameController, - ), - ), - Padding( - padding: EdgeInsets.symmetric(horizontal: 12.w), - child: CustomTextField( - label: "Last Name", - hint: "Enter your last name", - controller: lastNameController, - ), - ), - Padding( - padding: EdgeInsets.symmetric(horizontal: 12.w), - child: CustomTextField( - label: "Email", - hint: "Enter your email address", - controller: emailController, - ), - ), - Padding( - padding: EdgeInsets.symmetric(horizontal: 12.w), - child: CustomTextField( - label: "Phone Number", - hint: "Enter your phone number", - controller: phoneController, - ), - ), + void _populateFields(ProfileModel profile) { + firstNameController.text = profile.firstName; + lastNameController.text = profile.lastName; + phoneController.text = profile.mobileNumber; + address1Controller.text = profile.address1 ?? ''; + address2Controller.text = profile.address2 ?? ''; + } - SizedBox(height: 2.h), - - // Location Details - Align( - alignment: Alignment.centerLeft, - child: CustomText( - text: "Location Details", - size: 18.sp, - weight: FontWeight.w500, - ), - ), - SizedBox(height: 16.h), - - Padding( - padding: EdgeInsets.symmetric(horizontal: 12.0.w), - child: CustomTextField( - label: "Address 1", - hint: "Enter address manually or tap to search", - controller: addressController, - ), - ), - - SizedBox(height: 26.h), - - // Buttons - Row( - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Expanded( - child: OutlinedButton( - style: OutlinedButton.styleFrom( - foregroundColor: const Color(0xFFF95F62), - side: const BorderSide(color: Colors.transparent), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(38.r), - ), - padding: EdgeInsets.symmetric(vertical: 12.h), - ), - onPressed: () {}, - child: Text( - "Cancel", - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w500, - ), - ), - ), - ), - SizedBox(width: 16.w), - Expanded( - child: ElevatedButton( - style: ElevatedButton.styleFrom( - backgroundColor: const Color(0xFFF95F62), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(38.r), - ), - padding: EdgeInsets.symmetric(vertical: 6.h), - ), - onPressed: () {}, - child: Text( - "Save", - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w500, - color: Colors.white, - ), - ), - ), - ), - ], - ), - SizedBox(height: 20.h), - ], + void _saveProfile() async { + if (_formKey.currentState?.validate() ?? false) { + final userId = await LocalPreference.getUserId(); + if (userId != null) { + // No setState here - BLoC will handle the state + context.read().add( + UpdateProfileEvent( + userId: userId, + firstName: firstNameController.text.trim(), + lastName: lastNameController.text.trim(), + mobileNumber: phoneController.text.trim(), + address1: address1Controller.text.trim().isEmpty + ? null + : address1Controller.text.trim(), + address2: address2Controller.text.trim().isEmpty + ? null + : address2Controller.text.trim(), ), - ), - ), + ); + } + } + } + + @override + void dispose() { + firstNameController.dispose(); + lastNameController.dispose(); + phoneController.dispose(); + address1Controller.dispose(); + address2Controller.dispose(); + super.dispose(); + } + + @override + Widget build(BuildContext context) { + return BlocConsumer( + listener: (context, state) { + if (state is ProfileLoaded) { + _populateFields(state.profile); + } else if (state is ProfileUpdated) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(state.message), + backgroundColor: Colors.green, + duration: const Duration(seconds: 2), + ), + ); + // Return true to indicate successful update + Navigator.pop(context, true); + } else if (state is ProfileError) { + ScaffoldMessenger.of(context).showSnackBar( + SnackBar( + content: Text(state.message), + backgroundColor: Colors.red, + duration: const Duration(seconds: 3), + ), + ); + } + }, + builder: (context, state) { + // Determine loading state from BLoC + final isLoading = state is ProfileLoading || state is ProfileUpdating; + final isInitialLoading = state is ProfileLoading; + + // Show loading on initial fetch + if (isInitialLoading) { + return Scaffold( + backgroundColor: Colors.white, + body: Center( + child: CircularProgressIndicator( + color: Color(0xFFF95F62), + ), + ), + ); + } + + return Scaffold( + backgroundColor: Colors.white, + body: SafeArea( + child: Stack( + children: [ + SingleChildScrollView( + padding: + EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), + child: Form( + key: _formKey, + child: Column( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + // Header + CommonAppBar( + isWhiteLogo: false, + isProfilePage: true, + showDivider: true, + ), + + // Back + title + backWidget(context, "Edit Profile", Colors.black), + SizedBox(height: 33.h), + + // Personal Details + Align( + alignment: Alignment.centerLeft, + child: CustomText( + text: "Personal Details", + size: 18.sp, + weight: FontWeight.w500, + ), + ), + SizedBox(height: 16.h), + + // First Name + Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: CustomTextField( + label: "First Name", + hint: "Enter your first name", + controller: firstNameController, + enabled: !isLoading, + validator: (value) { + if (value == null || value.trim().isEmpty) { + return 'First name is required'; + } + return null; + }, + ), + ), + + // Last Name + Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: CustomTextField( + label: "Last Name", + hint: "Enter your last name", + controller: lastNameController, + enabled: !isLoading, + validator: (value) { + if (value == null || value.trim().isEmpty) { + return 'Last name is required'; + } + return null; + }, + ), + ), + + // Phone Number + Padding( + padding: EdgeInsets.symmetric(horizontal: 12.w), + child: CustomTextField( + label: "Phone Number", + hint: "Enter your phone number", + controller: phoneController, + enabled: !isLoading, + validator: (value) { + if (value == null || value.trim().isEmpty) { + return 'Phone number is required'; + } + return null; + }, + ), + ), + + SizedBox(height: 20.h), + + // Location Details + Align( + alignment: Alignment.centerLeft, + child: CustomText( + text: "Location Details", + size: 18.sp, + weight: FontWeight.w500, + ), + ), + SizedBox(height: 16.h), + + // Address 1 + Padding( + padding: EdgeInsets.symmetric(horizontal: 12.0.w), + child: CustomTextField( + label: "Address 1", + hint: "Enter address manually or tap to search", + controller: address1Controller, + enabled: !isLoading, + ), + ), + + // Address 2 + Padding( + padding: EdgeInsets.symmetric(horizontal: 12.0.w), + child: CustomTextField( + label: "Address 2 (Optional)", + hint: "Enter additional address details", + controller: address2Controller, + enabled: !isLoading, + ), + ), + + SizedBox(height: 26.h), + + // Buttons + Row( + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Expanded( + child: OutlinedButton( + style: OutlinedButton.styleFrom( + foregroundColor: const Color(0xFFF95F62), + side: const BorderSide( + color: Colors.transparent), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(38.r), + ), + padding: EdgeInsets.symmetric(vertical: 12.h), + ), + onPressed: isLoading + ? null + : () { + Navigator.pop(context); + }, + child: Text( + "Cancel", + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w500, + ), + ), + ), + ), + SizedBox(width: 16.w), + Expanded( + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: const Color(0xFFF95F62), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(38.r), + ), + padding: EdgeInsets.symmetric(vertical: 6.h), + ), + onPressed: isLoading ? null : _saveProfile, + child: isLoading + ? SizedBox( + height: 20.h, + width: 20.w, + child: CircularProgressIndicator( + color: Colors.white, + strokeWidth: 2, + ), + ) + : Text( + "Save", + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w500, + color: Colors.white, + ), + ), + ), + ), + ], + ), + SizedBox(height: 20.h), + ], + ), + ), + ), + + // Loading overlay when saving + if (state is ProfileUpdating) + Container( + color: Colors.black.withOpacity(0.3), + child: Center( + child: Card( + child: Padding( + padding: EdgeInsets.all(20.w), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + CircularProgressIndicator( + color: Color(0xFFF95F62), + ), + SizedBox(height: 16.h), + Text( + 'Updating profile...', + style: TextStyle( + fontSize: 14.sp, + fontWeight: FontWeight.w500, + ), + ), + ], + ), + ), + ), + ), + ), + ], + ), + ), + ); + }, ); } -} +} \ No newline at end of file diff --git a/lib/home/views/home_page_view.dart b/lib/home/views/home_page_view.dart index 048a249..07659a1 100644 --- a/lib/home/views/home_page_view.dart +++ b/lib/home/views/home_page_view.dart @@ -1,3 +1,4 @@ +import 'package:citycards_customer/itinerary_creation/views/magic_itinerary_view.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:citycards_customer/common_packages/custom_bottom_navbar.dart'; @@ -6,6 +7,7 @@ import 'package:citycards_customer/itinerary_creation/views/itinerary_creation_s import 'package:citycards_customer/my_pass/views/my_pass_page_view.dart'; import 'package:citycards_customer/postcard/views/postcard_initial_page_view.dart'; import '../../common_bloc/bottom_navigation_bloc.dart'; +import '../../itinerary_creation/views/magic_itinerary_empty_view.dart'; import 'registered_user_home_page.dart'; class HomePage extends StatefulWidget { @@ -38,7 +40,7 @@ class _HomePageState extends State { buildOffstageNavigator( 1, currentIndex, - const ItineraryCreationStartPage(), + const MagicItineraryView(), _navigatorKeys[1], ), buildOffstageNavigator( diff --git a/lib/itinerary_creation/views/magic_itinerary_empty_view.dart b/lib/itinerary_creation/views/magic_itinerary_empty_view.dart index 780a537..8ca41f8 100644 --- a/lib/itinerary_creation/views/magic_itinerary_empty_view.dart +++ b/lib/itinerary_creation/views/magic_itinerary_empty_view.dart @@ -5,6 +5,8 @@ import 'package:citycards_customer/core/route_constants.dart'; import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import 'itinerary_creation_start_view.dart'; + class MagicItineraryEmptyView extends StatelessWidget { const MagicItineraryEmptyView({super.key}); @@ -36,7 +38,12 @@ class MagicItineraryEmptyView extends StatelessWidget { SizedBox(height: 27.h), CustomFilledButton(onTap: (){ - Navigator.pushNamed(context, RouteConstants.itineraryCreationStart); + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => ItineraryCreationStartPage(), + ), + ); }, label: "Create My Itinerary", showArrow: true,) ], diff --git a/lib/itinerary_creation/views/magic_itinerary_filled_view.dart b/lib/itinerary_creation/views/magic_itinerary_filled_view.dart deleted file mode 100644 index cd8ae45..0000000 --- a/lib/itinerary_creation/views/magic_itinerary_filled_view.dart +++ /dev/null @@ -1,174 +0,0 @@ -import 'package:citycards_customer/common_packages/app_bar.dart'; -import 'package:citycards_customer/common_packages/custom_filled_button.dart'; -import 'package:citycards_customer/common_packages/custom_text.dart'; -import 'package:citycards_customer/core/route_constants.dart'; -import 'package:citycards_customer/postcard/widgets/dotted_border_container.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_screenutil/flutter_screenutil.dart'; - -class MagicItineraryFilledView extends StatelessWidget { - const MagicItineraryFilledView({super.key}); - - @override - Widget build(BuildContext context) { - return Scaffold( - backgroundColor: Color(0xFFFFF5F5), - body: SafeArea( - child: Padding( - padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), - child: SingleChildScrollView( - child: Column( - children: [ - CommonAppBar(isWhiteLogo: false, isProfilePage: false, showDivider: false,), - - SizedBox(height: 24.h), - ItineraryFilledCard(), - - SizedBox(height: 32.h), - - CustomPaint( - painter: DottedBorderPainter(), - child: Container( - width: double.infinity, - padding: EdgeInsets.symmetric(vertical: 24.h), - decoration: BoxDecoration( - color: Color(0xFFF95F62).withOpacity(0.25), - borderRadius: BorderRadius.circular(12.sp), - ), - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - CustomText( - text: "Plan your next adventure", - color: Color(0xFF656565), - size: 14.sp, - ), - SizedBox(height: 16.h), - CustomFilledButton( - onTap: () { - Navigator.pushNamed(context, RouteConstants.itineraryCreationStart); - }, - label: "Create My Itinerary", - showArrow: true, - ), - ], - ), - ), - ), - ], - ), - ), - ), - ), - ); - } -} - -class ItineraryFilledCard extends StatelessWidget { - const ItineraryFilledCard({super.key}); - - @override - Widget build(BuildContext context) { - return Container( - padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 8.h), - decoration: BoxDecoration( - border: Border.all(color: Colors.black.withOpacity(0.12)), - borderRadius: BorderRadius.circular(12.r), - ), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - CustomText( - text: "Melbourne Unlimited Card", - size: 16.sp, - weight: FontWeight.w500, - ), - Container( - padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 2.h), - decoration: BoxDecoration( - color: Color(0xFF439F6E), - borderRadius: BorderRadius.circular(100.r), - ), - child: CustomText( - text: "Active", - size: 11.sp, - color: Colors.white, - ), - ), - ], - ), - SizedBox(height: 4.h), - - CustomText( - text: "Melbourne", - size: 12.sp, - color: Colors.black.withOpacity(0.4), - ), - SizedBox(height: 12.h), - Row( - children: [ - Image.asset("assets/icons/calender_filled.png", width: 16.sp), - SizedBox(width: 4.w), - CustomText(text: "7 days", color: Color(0xFF8E8E8E), size: 12.sp), - ], - ), - SizedBox(height: 8.h), - Row( - children: [ - Icon( - Icons.location_on_rounded, - color: Color(0xFF8E8E8E), - size: 16.sp, - ), - SizedBox(width: 4.w), - CustomText( - text: "6 attractions", - color: Color(0xFF8E8E8E), - size: 12.sp, - ), - ], - ), - SizedBox(height: 8.h), - - Row( - children: [ - Icon(Icons.watch_later, color: Color(0xFF8E8E8E), size: 16.sp), - SizedBox(width: 4.w), - CustomText( - text: "Created 1/15/2024", - color: Color(0xFF8E8E8E), - size: 12.sp, - ), - ], - ), - - SizedBox(height: 12.h), - - InkWell( - onTap: (){ - Navigator.of(context).pushReplacementNamed(RouteConstants.yourItinerary); - }, - child: Container( - height: 43.h, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(8.r), - border: Border.all(color: Color(0xFFF95F62)), - ), - child: Center( - child: CustomText( - text: "View Itinerary", - size: 16.sp, - color: Color(0xFFF95F62), - weight: FontWeight.w500, - ), - ), - ), - ), - ], - ), - ); - } -} diff --git a/lib/itinerary_creation/views/magic_itinerary_view.dart b/lib/itinerary_creation/views/magic_itinerary_view.dart new file mode 100644 index 0000000..95f492f --- /dev/null +++ b/lib/itinerary_creation/views/magic_itinerary_view.dart @@ -0,0 +1,273 @@ +import 'package:citycards_customer/common_packages/app_bar.dart'; +import 'package:citycards_customer/common_packages/custom_filled_button.dart'; +import 'package:citycards_customer/common_packages/custom_text.dart'; +import 'package:citycards_customer/core/route_constants.dart'; +import 'package:citycards_customer/itinerary_creation/views/itinerary_creation_start_view.dart'; +import 'package:citycards_customer/postcard/widgets/dotted_border_container.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_screenutil/flutter_screenutil.dart'; + +import '../../localPreference/local_preference.dart'; +import '../../login/view/login_email_bottomsheet.dart'; + +class MagicItineraryView extends StatefulWidget { + const MagicItineraryView({super.key}); + + @override + State createState() => _MagicItineraryViewState(); +} + +class _MagicItineraryViewState extends State { + bool isLoggedIn = false; + bool isLoading = true; + + @override + void initState() { + super.initState(); + _checkLoginStatus(); + } + + Future _checkLoginStatus() async { + final loginStatus = await LocalPreference.getLogin(); + setState(() { + isLoggedIn = loginStatus; + isLoading = false; + }); + } + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: Color(0xFFFFF5F5), + body: SafeArea( + child: isLoading + ? Center(child: CircularProgressIndicator()) + : Padding( + padding: EdgeInsets.symmetric(horizontal: 20.w, vertical: 10.h), + child: SingleChildScrollView( + child: Column( + children: [ + CommonAppBar( + isWhiteLogo: false, + isProfilePage: false, + showDivider: false, + ), + SizedBox(height: 24.h), + + // Show different UI based on login status + if (isLoggedIn) ...[ + ItineraryFilledCard(), + SizedBox(height: 32.h), + CustomPaint( + painter: DottedBorderPainter(), + child: Container( + width: double.infinity, + padding: EdgeInsets.symmetric(vertical: 24.h), + decoration: BoxDecoration( + color: Color(0xFFF95F62).withOpacity(0.25), + borderRadius: BorderRadius.circular(12.sp), + ), + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + CustomText( + text: "Plan your next adventure", + color: Color(0xFF656565), + size: 14.sp, + ), + SizedBox(height: 16.h), + CustomFilledButton( + onTap: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => + ItineraryCreationStartPage(), + ), + ); + }, + label: "Create My Itinerary", + showArrow: true, + ), + ], + ), + ), + ), + ] else ...[ + EmptyItineraryView(), + ], + ], + ), + ), + ), + ), + ); + } +} + +class EmptyItineraryView extends StatelessWidget { + const EmptyItineraryView({super.key}); + + @override + Widget build(BuildContext context) { + return Column( + children: [ + SizedBox(height: 40.h), + + // Illustration image - replace with your asset path + Image.asset( + "assets/images/not_login.png", // Replace with your actual asset path + height: 300.h, + fit: BoxFit.contain, + ), + + SizedBox(height: 32.h), + + CustomText( + text: "You have not Logged in Yet! ☹️", + size: 18.sp, + weight: FontWeight.w600, + textAlign: TextAlign.center, + ), + + SizedBox(height: 12.h), + + Padding( + padding: EdgeInsets.symmetric(horizontal: 24.w), + child: CustomText( + text: "Log in or purchase a pass to unlock the magic itinerary!", + size: 14.sp, + color: Color(0xFF656565), + textAlign: TextAlign.center, + ), + ), + + SizedBox(height: 32.h), + + CustomFilledButton( + onTap: () { + showModalBottomSheet( + backgroundColor: Colors.white, + context: context, + isScrollControlled: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(12.r), + ), + ), + builder: (_) => const LoginEmailBottomsheet(), + ); + }, + label: "Log In", + showArrow: true, + ), + ], + ); + } +} + +class ItineraryFilledCard extends StatelessWidget { + const ItineraryFilledCard({super.key}); + + @override + Widget build(BuildContext context) { + return Container( + padding: EdgeInsets.symmetric(horizontal: 8.w, vertical: 8.h), + decoration: BoxDecoration( + border: Border.all(color: Colors.black.withOpacity(0.12)), + borderRadius: BorderRadius.circular(12.r), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + CustomText( + text: "Melbourne Unlimited Card", + size: 16.sp, + weight: FontWeight.w500, + ), + Container( + padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 2.h), + decoration: BoxDecoration( + color: Color(0xFF439F6E), + borderRadius: BorderRadius.circular(100.r), + ), + child: CustomText( + text: "Active", + size: 11.sp, + color: Colors.white, + ), + ), + ], + ), + SizedBox(height: 4.h), + CustomText( + text: "Melbourne", + size: 12.sp, + color: Colors.black.withOpacity(0.4), + ), + SizedBox(height: 12.h), + Row( + children: [ + Image.asset("assets/icons/calender_filled.png", width: 16.sp), + SizedBox(width: 4.w), + CustomText(text: "7 days", color: Color(0xFF8E8E8E), size: 12.sp), + ], + ), + SizedBox(height: 8.h), + Row( + children: [ + Icon( + Icons.location_on_rounded, + color: Color(0xFF8E8E8E), + size: 16.sp, + ), + SizedBox(width: 4.w), + CustomText( + text: "6 attractions", + color: Color(0xFF8E8E8E), + size: 12.sp, + ), + ], + ), + SizedBox(height: 8.h), + Row( + children: [ + Icon(Icons.watch_later, color: Color(0xFF8E8E8E), size: 16.sp), + SizedBox(width: 4.w), + CustomText( + text: "Created 1/15/2024", + color: Color(0xFF8E8E8E), + size: 12.sp, + ), + ], + ), + SizedBox(height: 12.h), + InkWell( + onTap: () { + Navigator.of(context) + .pushReplacementNamed(RouteConstants.yourItinerary); + }, + child: Container( + height: 43.h, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(8.r), + border: Border.all(color: Color(0xFFF95F62)), + ), + child: Center( + child: CustomText( + text: "View Itinerary", + size: 16.sp, + color: Color(0xFFF95F62), + weight: FontWeight.w500, + ), + ), + ), + ), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/localPreference/local_database.dart b/lib/localPreference/local_database.dart index c8bd26b..764a184 100644 --- a/lib/localPreference/local_database.dart +++ b/lib/localPreference/local_database.dart @@ -56,6 +56,22 @@ class LocalDatabase { refresh_token_max_age INTEGER NOT NULL ) '''); + + /// USER DETAILS TABLE + await db.execute(''' + CREATE TABLE user_details ( + id INTEGER PRIMARY KEY, + user_id INTEGER NOT NULL, + first_name TEXT NOT NULL, + last_name TEXT NOT NULL, + full_name TEXT NOT NULL, + email_address TEXT NOT NULL, + role TEXT NOT NULL, + role_id INTEGER NOT NULL + ) +'''); + + }, ); } diff --git a/lib/localPreference/local_preference.dart b/lib/localPreference/local_preference.dart index 79e1abb..0414915 100644 --- a/lib/localPreference/local_preference.dart +++ b/lib/localPreference/local_preference.dart @@ -141,6 +141,18 @@ class LocalPreference { ); } + /// Update only access token (for refresh token flow) + static Future setAccessToken(String accessToken) async { + final db = await LocalDatabase().database; + + await db.update( + 'user_tokens', + {'access_token': accessToken}, + where: 'id = ?', + whereArgs: [1], + ); + } + /// Get access token static Future getAccessToken() async { final db = await LocalDatabase().database; @@ -184,4 +196,49 @@ class LocalPreference { ); } + /// Set user details + static Future setUserDetails({ + required int userId, + required String firstName, + required String lastName, + required String fullName, + required String emailAddress, + required String role, + required int roleId, + }) async { + final db = await LocalDatabase().database; + + await db.insert( + 'user_details', + { + 'id': 1, + 'user_id': userId, + 'first_name': firstName, + 'last_name': lastName, + 'full_name': fullName, + 'email_address': emailAddress, + 'role': role, + 'role_id': roleId, + }, + conflictAlgorithm: ConflictAlgorithm.replace, + ); + } + + /// Get userId + static Future getUserId() async { + final db = await LocalDatabase().database; + + final result = await db.query( + 'user_details', + where: 'id = ?', + whereArgs: [1], + ); + + if (result.isNotEmpty) { + return result.first['user_id'] as int; + } + return null; + } + + } \ No newline at end of file diff --git a/lib/login/bloc/verify/verify_bloc.dart b/lib/login/bloc/verify/verify_bloc.dart index 6b473ac..07b3378 100644 --- a/lib/login/bloc/verify/verify_bloc.dart +++ b/lib/login/bloc/verify/verify_bloc.dart @@ -32,6 +32,15 @@ class VerifyOtpBloc extends Bloc { refreshToken: userModel.refreshToken, refreshTokenMaxAge: userModel.refreshTokenMaxAge, ); + await LocalPreference.setUserDetails( + userId: userModel.user.id, + firstName: userModel.user.firstName, + lastName: userModel.user.lastName, + fullName: userModel.user.fullName, + emailAddress: userModel.user.emailAddress, + role: userModel.user.role, + roleId: userModel.user.roleId, + ); emit(VerifyOtpSuccess(response: userModel)); } catch (e) { emit(VerifyOtpError(errorMessage: e.toString())); diff --git a/lib/main.dart b/lib/main.dart index 3464ac9..67bd215 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -15,6 +15,7 @@ import 'home/repository/home_repository.dart'; import 'login/bloc/login/login_bloc.dart'; import 'login/repository/login_repository.dart'; import 'my_pass/blocs/my_pass_bloc.dart'; +import 'profile/bloc/profile/profile_bloc.dart'; void main() { WidgetsFlutterBinding.ensureInitialized(); @@ -60,6 +61,7 @@ class MyApp extends StatelessWidget { loginRepository: LoginRepository(), ), ), + BlocProvider(create: (context) => ProfileBloc()), ], child: MaterialApp( onGenerateRoute: _appRouter.onGenerateRoute, diff --git a/lib/networkApiServices/api_urls.dart b/lib/networkApiServices/api_urls.dart index 5acaa44..00deac3 100644 --- a/lib/networkApiServices/api_urls.dart +++ b/lib/networkApiServices/api_urls.dart @@ -11,6 +11,7 @@ class ApiUrls { static const attractionDetails = "$baseUrl/mobile/list"; static const home = "$baseUrl/mobile"; static const faqPrivacyTerms = "$baseUrl/mobile/user/cms-data"; + static const userProfile = "$baseUrl/mobile/user"; //Post Apis diff --git a/lib/networkApiServices/network_api_services.dart b/lib/networkApiServices/network_api_services.dart index 6b1eff2..78f626e 100644 --- a/lib/networkApiServices/network_api_services.dart +++ b/lib/networkApiServices/network_api_services.dart @@ -187,21 +187,12 @@ class NetworkApiService { final response = await _dio.post( ApiUrls.refreshToken, - data: { - "refreshToken": refreshToken, - }, + data: {"refreshToken": refreshToken}, options: Options( - headers: { - 'Authorization': null, - }, + headers: {'Authorization': null}, ), ); - - await LocalPreference.setTokens( - accessToken: response.data['accessToken'], - refreshToken: response.data['refreshToken'], - refreshTokenMaxAge: response.data['refreshTokenMaxAge'], - ); + await LocalPreference.setAccessToken(response.data['accessToken']); return true; } catch (_) { diff --git a/lib/profile/bloc/profile/profile_bloc.dart b/lib/profile/bloc/profile/profile_bloc.dart new file mode 100644 index 0000000..78515a9 --- /dev/null +++ b/lib/profile/bloc/profile/profile_bloc.dart @@ -0,0 +1,81 @@ +import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:flutter/foundation.dart'; +import '../../repository/profile_repository.dart'; +import 'profile_event.dart'; +import 'profile_state.dart'; + +class ProfileBloc extends Bloc { + final ProfileRepository _profileRepository; + + ProfileBloc({ProfileRepository? profileRepository}) + : _profileRepository = profileRepository ?? ProfileRepository(), + super(const ProfileInitial()) { + on(_onFetchProfile); + on(_onUpdateProfile); + on(_onResetProfile); + } + + /// Handle fetching user profile + Future _onFetchProfile( + FetchProfileEvent event, + Emitter emit, + ) async { + try { + emit(const ProfileLoading()); + + final profile = await _profileRepository.fetchUserProfile(); + + emit(ProfileLoaded(profile: profile)); + + if (kDebugMode) { + print( + '✅ Profile fetched successfully: ${profile.firstName} ${profile.lastName}', + ); + } + } catch (e) { + final errorMessage = e.toString(); + emit(ProfileError(message: errorMessage)); + + if (kDebugMode) { + print('❌ Error fetching profile: $errorMessage'); + } + } + } + + /// Handle updating user profile + Future _onUpdateProfile( + UpdateProfileEvent event, + Emitter emit, + ) async { + try { + emit(const ProfileUpdating()); + + final updatedProfile = await _profileRepository.updateUserProfile( + data: event.toJson(), + ); + + emit(ProfileUpdated(profile: updatedProfile)); + + if (kDebugMode) { + print( + '✅ Profile updated successfully: ${updatedProfile.firstName} ${updatedProfile.lastName}', + ); + } + } catch (e) { + final errorMessage = e.toString(); + emit(ProfileError(message: errorMessage)); + + if (kDebugMode) { + print('❌ Error updating profile: $errorMessage'); + } + } + } + + /// Handle resetting profile state + void _onResetProfile( + ResetProfileEvent event, + Emitter emit, + ) { + emit(const ProfileInitial()); + } +} diff --git a/lib/profile/bloc/profile/profile_event.dart b/lib/profile/bloc/profile/profile_event.dart new file mode 100644 index 0000000..12dc566 --- /dev/null +++ b/lib/profile/bloc/profile/profile_event.dart @@ -0,0 +1,62 @@ +import 'package:equatable/equatable.dart'; + +abstract class ProfileEvent extends Equatable { + const ProfileEvent(); + + @override + List get props => []; +} + +/// Event to fetch user profile +class FetchProfileEvent extends ProfileEvent { + final int userId; + + const FetchProfileEvent({required this.userId}); + + @override + List get props => [userId]; +} + +/// Event to update user profile +class UpdateProfileEvent extends ProfileEvent { + final int userId; + final String firstName; + final String lastName; + final String mobileNumber; + final String? address1; + final String? address2; + + const UpdateProfileEvent({ + required this.userId, + required this.firstName, + required this.lastName, + required this.mobileNumber, + this.address1, + this.address2, + }); + + @override + List get props => [ + userId, + firstName, + lastName, + mobileNumber, + address1, + address2, + ]; + + Map toJson() { + return { + 'firstName': firstName, + 'lastName': lastName, + 'mobileNumber': mobileNumber, + if (address1 != null && address1!.isNotEmpty) 'address1': address1, + if (address2 != null && address2!.isNotEmpty) 'address2': address2, + }; + } +} + +/// Event to reset profile state +class ResetProfileEvent extends ProfileEvent { + const ResetProfileEvent(); +} \ No newline at end of file diff --git a/lib/profile/bloc/profile/profile_state.dart b/lib/profile/bloc/profile/profile_state.dart new file mode 100644 index 0000000..e67bfec --- /dev/null +++ b/lib/profile/bloc/profile/profile_state.dart @@ -0,0 +1,58 @@ +import 'package:equatable/equatable.dart'; +import '../../models/profile_model.dart'; + +abstract class ProfileState extends Equatable { + const ProfileState(); + + @override + List get props => []; +} + +/// Initial state +class ProfileInitial extends ProfileState { + const ProfileInitial(); +} + +/// Loading state for fetching profile +class ProfileLoading extends ProfileState { + const ProfileLoading(); +} + +/// Success state when profile is fetched +class ProfileLoaded extends ProfileState { + final ProfileModel profile; + + const ProfileLoaded({required this.profile}); + + @override + List get props => [profile]; +} + +/// Loading state for updating profile +class ProfileUpdating extends ProfileState { + const ProfileUpdating(); +} + +/// Success state when profile is updated +class ProfileUpdated extends ProfileState { + final ProfileModel profile; + final String message; + + const ProfileUpdated({ + required this.profile, + this.message = 'Profile updated successfully', + }); + + @override + List get props => [profile, message]; +} + +/// Error state +class ProfileError extends ProfileState { + final String message; + + const ProfileError({required this.message}); + + @override + List get props => [message]; +} \ No newline at end of file diff --git a/lib/profile/models/profile_model.dart b/lib/profile/models/profile_model.dart new file mode 100644 index 0000000..fd70a05 --- /dev/null +++ b/lib/profile/models/profile_model.dart @@ -0,0 +1,171 @@ +class ProfileModel { + final int id; + final String firstName; + final String lastName; + final int roleXid; + final String emailAddress; + final String isdCode; + final String mobileNumber; + final String? address1; + final String? address2; + final String? cityName; + final String? zipCode; + final String? stateName; + final String? country; + final String? timezone; + final String? lastLogin; + final bool isActive; + final String createdAt; + final String updatedAt; + final RoleModel? role; + + ProfileModel({ + required this.id, + required this.firstName, + required this.lastName, + required this.roleXid, + required this.emailAddress, + required this.isdCode, + required this.mobileNumber, + this.address1, + this.address2, + this.cityName, + this.zipCode, + this.stateName, + this.country, + this.timezone, + this.lastLogin, + required this.isActive, + required this.createdAt, + required this.updatedAt, + this.role, + }); + + factory ProfileModel.fromJson(Map json) { + return ProfileModel( + id: json['id'] ?? 0, + firstName: json['firstName'] ?? 'N/A', + lastName: json['lastName'] ?? 'N/A', + roleXid: json['roleXid'] ?? 0, + emailAddress: json['emailAddress'] ?? 'N/A', + isdCode: json['isdCode'] ?? 'N/A', + mobileNumber: json['mobileNumber'] ?? 'N/A', + address1: json['address1'], + address2: json['address2'], + cityName: json['cityName'], + zipCode: json['zipCode'], + stateName: json['stateName'], + country: json['country'], + timezone: json['timezone'], + lastLogin: json['lastLogin'], + isActive: json['isActive'] ?? false, + createdAt: json['createdAt'] ?? 'N/A', + updatedAt: json['updatedAt'] ?? 'N/A', + role: json['role'] != null ? RoleModel.fromJson(json['role']) : null, + ); + } + + Map toJson() { + return { + 'id': id, + 'firstName': firstName, + 'lastName': lastName, + 'roleXid': roleXid, + 'emailAddress': emailAddress, + 'isdCode': isdCode, + 'mobileNumber': mobileNumber, + 'address1': address1, + 'address2': address2, + 'cityName': cityName, + 'zipCode': zipCode, + 'stateName': stateName, + 'country': country, + 'timezone': timezone, + 'lastLogin': lastLogin, + 'isActive': isActive, + 'createdAt': createdAt, + 'updatedAt': updatedAt, + if (role != null) 'role': role!.toJson(), + }; + } + + ProfileModel copyWith({ + int? id, + String? firstName, + String? lastName, + int? roleXid, + String? emailAddress, + String? isdCode, + String? mobileNumber, + String? address1, + String? address2, + String? cityName, + String? zipCode, + String? stateName, + String? country, + String? timezone, + String? lastLogin, + bool? isActive, + String? createdAt, + String? updatedAt, + RoleModel? role, + }) { + return ProfileModel( + id: id ?? this.id, + firstName: firstName ?? this.firstName, + lastName: lastName ?? this.lastName, + roleXid: roleXid ?? this.roleXid, + emailAddress: emailAddress ?? this.emailAddress, + isdCode: isdCode ?? this.isdCode, + mobileNumber: mobileNumber ?? this.mobileNumber, + address1: address1 ?? this.address1, + address2: address2 ?? this.address2, + cityName: cityName ?? this.cityName, + zipCode: zipCode ?? this.zipCode, + stateName: stateName ?? this.stateName, + country: country ?? this.country, + timezone: timezone ?? this.timezone, + lastLogin: lastLogin ?? this.lastLogin, + isActive: isActive ?? this.isActive, + createdAt: createdAt ?? this.createdAt, + updatedAt: updatedAt ?? this.updatedAt, + role: role ?? this.role, + ); + } +} + +class RoleModel { + final int id; + final String name; + final bool isActive; + final String createdAt; + final String updatedAt; + + RoleModel({ + required this.id, + required this.name, + required this.isActive, + required this.createdAt, + required this.updatedAt, + }); + + factory RoleModel.fromJson(Map json) { + return RoleModel( + id: json['id'] ?? 0, + name: json['name'] ?? 'N/A', + isActive: json['isActive'] ?? false, + createdAt: json['createdAt'] ?? 'N/A', + updatedAt: json['updatedAt'] ?? 'N/A', + ); + } + + Map toJson() { + return { + 'id': id, + 'name': name, + 'isActive': isActive, + 'createdAt': createdAt, + 'updatedAt': updatedAt, + }; + } +} \ No newline at end of file diff --git a/lib/profile/repository/profile_repository.dart b/lib/profile/repository/profile_repository.dart new file mode 100644 index 0000000..a0321a6 --- /dev/null +++ b/lib/profile/repository/profile_repository.dart @@ -0,0 +1,33 @@ +import '../models/profile_model.dart'; +import '../../networkApiServices/network_api_services.dart'; +import '../../networkApiServices/api_urls.dart'; +import '../../localPreference/local_preference.dart'; + +class ProfileRepository { + final NetworkApiService _apiService = NetworkApiService(); + + /// Fetch user profile (userId from local storage) + Future fetchUserProfile() async { + final int? userId = await LocalPreference.getUserId(); + + final response = await _apiService.getApi( + url: '${ApiUrls.userProfile}/$userId', + ); + + return ProfileModel.fromJson(response.data); + } + + /// Update user profile (userId from local storage) + Future updateUserProfile({ + required Map data, + }) async { + final int? userId = await LocalPreference.getUserId(); + + final response = await _apiService.putApi( + url: '${ApiUrls.userProfile}/$userId', + data: data, + ); + + return ProfileModel.fromJson(response.data); + } +} diff --git a/lib/profile/view/profile_page_view.dart b/lib/profile/view/profile_page_view.dart index ed7ccdb..ed47635 100644 --- a/lib/profile/view/profile_page_view.dart +++ b/lib/profile/view/profile_page_view.dart @@ -7,12 +7,56 @@ import 'package:citycards_customer/core/route_constants.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; +import '../../localPreference/local_preference.dart'; +import '../../login/view/login_email_bottomsheet.dart'; +import '../bloc/profile/profile_bloc.dart'; +import '../bloc/profile/profile_event.dart'; +import '../bloc/profile/profile_state.dart'; +import '../models/profile_model.dart'; -class ProfilePage extends StatelessWidget { +class ProfilePage extends StatefulWidget { const ProfilePage({super.key}); + @override + State createState() => _ProfilePageState(); +} + +class _ProfilePageState extends State { + bool isLogin = false; + bool isLoading = true; + + @override + void initState() { + super.initState(); + _checkLoginStatus(); + } + + Future _checkLoginStatus() async { + final loginStatus = await LocalPreference.getLogin(); + final userId = await LocalPreference.getUserId(); + + setState(() { + isLogin = loginStatus; + isLoading = false; + }); + + // Fetch profile data if user is logged in + if (loginStatus && userId != null) { + context.read().add(FetchProfileEvent(userId: userId)); + } + } + @override Widget build(BuildContext context) { + if (isLoading) { + return Scaffold( + backgroundColor: Colors.white, + body: Center( + child: CircularProgressIndicator(), + ), + ); + } + return Scaffold( backgroundColor: Colors.white, body: SafeArea( @@ -21,94 +65,89 @@ class ProfilePage extends StatelessWidget { child: Column( crossAxisAlignment: CrossAxisAlignment.center, children: [ - CommonAppBar(isWhiteLogo: false, isProfilePage: true, showDivider: true,), - backWidget(context,"My Profile", Colors.black), + CommonAppBar( + isWhiteLogo: false, + isProfilePage: true, + showDivider: true, + ), + backWidget(context, "My Profile", Colors.black), SizedBox(height: 29.h), - // Profile Image and Name - Row( - children: [ - CircleAvatar( - radius: 38.r, - backgroundImage: AssetImage( - "assets/images/profile_img.png", - ), - ), - SizedBox(width: 16.w), - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - 'Laysha Adams', - style: TextStyle( - fontSize: 16.sp, - fontWeight: FontWeight.w500, - ), - ), - // SizedBox(height: 4,), - Row( + + // Show different UI based on login status + if (!isLogin) ...[ + // Guest User UI + _buildGuestUI(context), + ] else ...[ + // Logged In User UI with BLoC + BlocBuilder( + builder: (context, state) { + if (state is ProfileLoading) { + return Center( + child: CircularProgressIndicator(), + ); + } else if (state is ProfileLoaded) { + return _buildLoggedInUI(context, state.profile); + } else if (state is ProfileUpdated) { + return _buildLoggedInUI(context, state.profile); + } else if (state is ProfileError) { + return Column( children: [ Icon( - Icons.location_on_sharp, - color: Color(0xFF8E8E8E), - size: 14.sp, + Icons.error_outline, + color: Colors.red, + size: 48.sp, ), - SizedBox(width: 4.w), + SizedBox(height: 16.h), Text( - 'Louisiana, United States', + 'Failed to load profile', style: TextStyle( - fontSize: 12.sp, + fontSize: 16.sp, + fontWeight: FontWeight.w500, + ), + ), + SizedBox(height: 8.h), + Text( + state.message, + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 14.sp, color: Color(0xFF8E8E8E), ), ), + SizedBox(height: 16.h), + ElevatedButton( + onPressed: () async { + final userId = await LocalPreference.getUserId(); + if (userId != null) { + context.read().add( + FetchProfileEvent(userId: userId), + ); + } + }, + style: ElevatedButton.styleFrom( + backgroundColor: Color(0xFFF95F62), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(38.r), + ), + ), + child: Text( + 'Retry', + style: TextStyle(color: Colors.white), + ), + ), ], - ), - ], - ), - ], - ), + ); + } + // Default fallback + return _buildLoggedInUI(context, null); + }, + ), + ], SizedBox(height: 30.h), - // Account Settings Section - Align( - alignment: Alignment.centerLeft, - child: CustomText( - text: "Account Settings", - weight: FontWeight.w500, - size: 18.sp, - ), - ), - SizedBox(height: 10.h), - - _buildListTile( - icon: "assets/icons/user_profile.png", - title: 'Edit profile', - onTap: () { - Navigator.pushNamed(context, RouteConstants.editProfile); - }, - ), - _buildListTile( - icon: "assets/icons/change_language.png", - title: 'Change language', - onTap: () { - showModalBottomSheet( - context: context, - backgroundColor: Colors.white, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.vertical( - top: Radius.circular(12.r), - ), - ), - builder: (context) => BlocProvider( - create: (_)=> LanguageBloc(), - child: LanguageSelectionBottomsheet()), - ); - }, - ), - SizedBox(height: 24.h), - - // Support & Legal Section + // Support & Legal Section (Always visible) Align( alignment: Alignment.centerLeft, child: CustomText( @@ -153,25 +192,36 @@ class ProfilePage extends StatelessWidget { SizedBox(height: 22.h), - // Logout Button - SizedBox( - width: double.infinity, - child: OutlinedButton( - style: OutlinedButton.styleFrom( - foregroundColor: Color(0xFFF95F62), - side: const BorderSide(color: Color(0xFFF95F62)), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(38.r), + // Logout Button (Only for logged in users) + if (isLogin) + SizedBox( + width: double.infinity, + child: OutlinedButton( + style: OutlinedButton.styleFrom( + foregroundColor: Color(0xFFF95F62), + side: const BorderSide(color: Color(0xFFF95F62)), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(38.r), + ), + padding: EdgeInsets.symmetric(vertical: 6.h), + ), + onPressed: () async { + // Handle logout + // await LocalPreference.clearPreference(); + context.read().add(ResetProfileEvent()); + setState(() { + isLogin = false; + }); + }, + child: Text( + 'Log out', + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + ), ), - padding: EdgeInsets.symmetric(vertical: 6.h), - ), - onPressed: () {}, - child: Text( - 'Log out', - style: TextStyle(fontSize: 16.sp, fontWeight: FontWeight.w600), ), ), - ), ], ), ), @@ -179,6 +229,224 @@ class ProfilePage extends StatelessWidget { ); } + // Guest User UI (Not logged in) + Widget _buildGuestUI(BuildContext context) { + return Column( + children: [ + // Greeting Text + Text( + 'Hey, Stranger! 👋', + style: TextStyle( + fontSize: 20.sp, + fontWeight: FontWeight.w600, + color: Colors.black, + ), + ), + SizedBox(height: 8.h), + Text( + 'We are thrilled to have you on our app.', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 13.sp, + color: Color(0xFF8E8E8E), + ), + ), + Text( + 'Why not make it official?', + textAlign: TextAlign.center, + style: TextStyle( + fontSize: 13.sp, + color: Color(0xFF8E8E8E), + ), + ), + + SizedBox(height: 24.h), + + // Illustration Image + Image.asset( + "assets/images/guest_illustration.png", + height: 200.h, + fit: BoxFit.contain, + ), + + SizedBox(height: 32.h), + + // Sign In Button + SizedBox( + width: double.infinity, + child: ElevatedButton( + style: ElevatedButton.styleFrom( + backgroundColor: Color(0xFFF95F62), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(38.r), + ), + padding: EdgeInsets.symmetric(vertical: 12.h), + ), + onPressed: () { + showModalBottomSheet( + backgroundColor: Colors.white, + context: context, + isScrollControlled: true, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(12.r), + ), + ), + builder: (_) => const LoginEmailBottomsheet(), + ); + }, + child: Text( + 'Sign in', + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w600, + color: Colors.white, + ), + ), + ), + ), + ], + ); + } + + // Logged In User UI with dynamic data from API + Widget _buildLoggedInUI(BuildContext context, ProfileModel? profile) { + // Construct full name + String fullName = 'User'; + if (profile != null) { + fullName = '${profile.firstName} ${profile.lastName}'.trim(); + if (fullName.isEmpty) { + fullName = 'User'; + } + } + + // Construct location + String location = 'Not specified'; + if (profile != null) { + List locationParts = []; + + if (profile.address1 != null && profile.address1!.isNotEmpty) { + locationParts.add(profile.address1!); + } + if (profile.address2 != null && profile.address2!.isNotEmpty) { + locationParts.add(profile.address2!); + } + + if (locationParts.isNotEmpty) { + location = locationParts.join(', '); + } + } + + return Column( + children: [ + // Profile Image and Name + Row( + children: [ + CircleAvatar( + radius: 38.r, + backgroundImage: AssetImage( + "assets/images/profile_img.png", + ), + ), + SizedBox(width: 16.w), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + fullName, + style: TextStyle( + fontSize: 16.sp, + fontWeight: FontWeight.w500, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + SizedBox(height: 4.h), + Row( + children: [ + Icon( + Icons.location_on_sharp, + color: Color(0xFF8E8E8E), + size: 14.sp, + ), + SizedBox(width: 4.w), + Expanded( + child: Text( + location, + style: TextStyle( + fontSize: 12.sp, + color: Color(0xFF8E8E8E), + ), + maxLines: 2, + overflow: TextOverflow.ellipsis, + ), + ), + ], + ), + ], + ), + ), + ], + ), + + SizedBox(height: 30.h), + + // Account Settings Section + Align( + alignment: Alignment.centerLeft, + child: CustomText( + text: "Account Settings", + weight: FontWeight.w500, + size: 18.sp, + ), + ), + SizedBox(height: 10.h), + + _buildListTile( + icon: "assets/icons/user_profile.png", + title: 'Edit profile', + onTap: () async { + final result = await Navigator.pushNamed( + context, + RouteConstants.editProfile, + ); + + // Refresh profile if edit was successful + if (result == true) { + final userId = await LocalPreference.getUserId(); + if (userId != null) { + context.read().add( + FetchProfileEvent(userId: userId), + ); + } + } + }, + ), + _buildListTile( + icon: "assets/icons/change_language.png", + title: 'Change language', + onTap: () { + showModalBottomSheet( + context: context, + backgroundColor: Colors.white, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(12.r), + ), + ), + builder: (context) => BlocProvider( + create: (_) => LanguageBloc(), + child: LanguageSelectionBottomsheet(), + ), + ); + }, + ), + SizedBox(height: 24.h), + ], + ); + } + Widget _buildListTile({ required String icon, required String title, @@ -202,4 +470,4 @@ class ProfilePage extends StatelessWidget { ), ); } -} +} \ No newline at end of file