From 298d7f46d252f7a6a26cf1f776509874c23c99fc Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 16:03:06 +0700 Subject: [PATCH] fix: submit data bank account --- .../data_bank/submit_bank_account.dart | 88 +++++++++++-------- .../submission_data/submission_parent.dart | 63 +++++++------ .../viewmodel/submission_data_viewmodel.dart | 1 + 3 files changed, 83 insertions(+), 69 deletions(-) diff --git a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart index 7697f92..822a3ee 100644 --- a/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart +++ b/lib/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart @@ -8,7 +8,9 @@ import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart'; +import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:flutter/material.dart'; +import 'package:provider/provider.dart'; class SubmitBankAccount extends StatelessWidget { const SubmitBankAccount({Key? key}) : super(key: key); @@ -22,44 +24,56 @@ class SubmitBankAccount extends StatelessWidget { ItemSelectForm('key4', 'BANK MANDIRI'), ItemSelectForm('key5', 'CIMB NIAGA'), ]; - return SizedBox( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const TextCaption(title: 'Input your bank account data'), - SelectFormView( - name: 'Bank Name', - listItem: listForm, - onSelect: (value) {}, - ), - TextFormView( - name: 'Account Number', - trailingTitleWidget: SizedBox( - width: 24, - child: GestureDetector( - onTap: () { - routePush(context, page: GuideScreen()); - }, - child: const ImageView(image: PathAssets.iconQuestion), - ), - ), - ), - TextFormView(name: 'Account Owner Name'), - const Text( - "Make sure the account you use is in your name, not someone else's", - style: TextStyle( - color: ColorPalette.slate400, - ), - ), - const Spacer(), - ButtonView( - name: 'Next', - onPressed: () { - routePush(context, page: ConfirmBankAccount()); - }, + return MultiProvider( + providers: [ + ChangeNotifierProvider( + create: (context) => SubmissionDataViewModel(), ) ], - ), - ); + builder: (context, child) { + return SizedBox( + child: Consumer( + builder: (context, provider, child) { + return Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Input your bank account data'), + SelectFormView( + name: 'Bank Name', + listItem: listForm, + onSelect: (value) {}, + ), + TextFormView( + name: 'Account Number', + trailingTitleWidget: SizedBox( + width: 24, + child: GestureDetector( + onTap: () { + routePush(context, page: const GuideScreen()); + }, + child: const ImageView(image: PathAssets.iconQuestion), + ), + ), + ), + TextFormView(name: 'Account Owner Name'), + const Text( + "Make sure the account you use is in your name, not someone else's", + style: TextStyle( + color: ColorPalette.slate400, + ), + ), + const Spacer(), + ButtonView( + name: 'Next', + onPressed: () { + provider.nextSubmission(context); + routePush(context, page: const ConfirmBankAccount()); + }, + ) + ], + ); + }), + ); + }); } } diff --git a/lib/features/auth/registration/view/submission_data/submission_parent.dart b/lib/features/auth/registration/view/submission_data/submission_parent.dart index aa22dd0..8f53647 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -10,6 +10,7 @@ import 'package:cims_apps/features/auth/registration/view/submission_data/submit import 'package:cims_apps/features/auth/registration/view/submission_data/submit_email.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_personal_data.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_photo_selfie.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submit_signature/submit_signature.dart'; import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart'; import 'package:cims_apps/features/bottom_navigation_view.dart'; import 'package:flutter/material.dart'; @@ -26,7 +27,7 @@ class SubmissionParent extends StatefulWidget { class _SubmissionParentState extends State { Widget _stepItem({bool isCurrentStep = false, bool isDone = false}) { return Container( - margin: const EdgeInsets.only(right: 4.0, left: 4.0), + margin: const EdgeInsets.only(right: 0.0, left: 4.0), height: 6, width: SizeConfig.width * .08, decoration: BoxDecoration( @@ -53,9 +54,7 @@ class _SubmissionParentState extends State { case 6: return const SubmitBankAccount(); case 7: - return Container( - child: Text("Step 7"), - ); + return const SubmitSignature(); case 8: return const RiskProfileView(); case 9: @@ -77,30 +76,30 @@ class _SubmissionParentState extends State { routeType: RouteType.pushReplace); return false; }, - child: Scaffold( - appBar: AppBar( - toolbarHeight: 70, - backgroundColor: Colors.white, - surfaceTintColor: Colors.white, - automaticallyImplyLeading: false, - title: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const BackButtonView(), - const Text('Registration'), - SizedBox( - width: SizeConfig.width * 0.1, - ) - ], + child: Consumer( + builder: (context, provider, child) { + return Scaffold( + appBar: AppBar( + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const BackButtonView(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), ), - shape: const RoundedRectangleBorder( - side: BorderSide(color: ColorPalette.slate200)), - ), - body: Stack( - children: [ - Consumer( - builder: (context, provider, child) { - return Column( + body: Stack( + children: [ + Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ @@ -140,11 +139,11 @@ class _SubmissionParentState extends State { ), ) ], - ); - }), - ], - ), - ), + ), + ], + ), + ); + }), ); }); } diff --git a/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart b/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart index 045cc61..ceaad54 100644 --- a/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart +++ b/lib/features/auth/registration/viewmodel/submission_data_viewmodel.dart @@ -34,6 +34,7 @@ class SubmissionDataViewModel extends ChangeNotifier { } else { //ToDo : Go To next step after completing the submission } + notifyListeners(); } }