From a574f304247dec8e5180efade0e9faa7c8418253 Mon Sep 17 00:00:00 2001 From: Dian Bayu Nugroho Date: Fri, 16 Feb 2024 11:39:16 +0700 Subject: [PATCH] fix: submit data bank account --- assets/icons/icon-ceklis-outline.png | Bin 0 -> 3858 bytes lib/application/assets/path_assets.dart | 2 + .../component/list_tile/list_tile_view.dart | 70 +++++++++++ .../data_bank/confirm_bank_account.dart | 112 ++++++++++++++++++ .../data_bank/submit_bank_account.dart | 11 +- .../submission_data/submission_parent.dart | 26 +++- .../view/dashboard_public_view.dart | 6 +- 7 files changed, 219 insertions(+), 8 deletions(-) create mode 100644 assets/icons/icon-ceklis-outline.png create mode 100644 lib/application/component/list_tile/list_tile_view.dart create mode 100644 lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart diff --git a/assets/icons/icon-ceklis-outline.png b/assets/icons/icon-ceklis-outline.png new file mode 100644 index 0000000000000000000000000000000000000000..bb47c9758e0e0a0c2815e9d3e0387173224c5f86 GIT binary patch literal 3858 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 Uky<_}RR91007*qoM6N<$f+7MxvH$=8 literal 0 HcmV?d00001 diff --git a/lib/application/assets/path_assets.dart b/lib/application/assets/path_assets.dart index 9bccc8c..bd69ff6 100644 --- a/lib/application/assets/path_assets.dart +++ b/lib/application/assets/path_assets.dart @@ -33,6 +33,8 @@ class PathAssets { static const String iconMoneyReceive = 'assets/icons/icon-money-receive.png'; static const String iconCoins = 'assets/icons/icon-coins.png'; static const String iconQuestion = 'assets/icons/icon-question.png'; + static const String iconChecklistOutlined = + 'assets/icons/icon-ceklis-outline.png'; /// IMAGE static const String imgSplashLogo = 'assets/images/splash-logo.png'; diff --git a/lib/application/component/list_tile/list_tile_view.dart b/lib/application/component/list_tile/list_tile_view.dart new file mode 100644 index 0000000..683e277 --- /dev/null +++ b/lib/application/component/list_tile/list_tile_view.dart @@ -0,0 +1,70 @@ +import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/image/image_view.dart'; +import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:flutter/material.dart'; + +class ListTileView extends StatelessWidget { + final String title; + final VoidCallback? onPressed; + final Widget? prefixIcon, suffixIcon; + final Color? colorTitle; + const ListTileView( + {Key? key, + required this.title, + this.onPressed, + this.prefixIcon, + this.suffixIcon, + this.colorTitle}) + : super(key: key); + + @override + Widget build(BuildContext context) { + return Container( + width: SizeConfig.width, + padding: const EdgeInsets.symmetric(vertical: 16.0, horizontal: 8.0), + margin: const EdgeInsets.symmetric(vertical: 16.0), + decoration: BoxDecoration( + color: ColorPalette.blue50, + borderRadius: BorderRadius.circular(10), + border: Border.all( + color: ColorPalette.greyLights, + width: 1, + ), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + prefixIcon ?? + const ImageView( + image: PathAssets.iconChecklistOutlined, + width: 38, + height: 38, + ), + const SizedBox( + width: 16, + ), + Expanded( + child: Text( + title, + style: TextStyle( + fontWeight: FontWeight.w600, + color: colorTitle ?? ColorPalette.slate500, + ), + ), + ), + suffixIcon != null + ? IconButton( + onPressed: onPressed, + icon: const Icon( + Icons.arrow_forward_ios, + color: ColorPalette.primary, + size: 20, + ), + ) + : const SizedBox(), + ], + ), + ); + } +} diff --git a/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart b/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart new file mode 100644 index 0000000..272e284 --- /dev/null +++ b/lib/features/auth/registration/view/submission_data/data_bank/confirm_bank_account.dart @@ -0,0 +1,112 @@ +import 'package:cims_apps/application/component/button/button_back.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; +import 'package:cims_apps/application/component/list_tile/list_tile_view.dart'; +import 'package:cims_apps/application/component/text_caption/text_caption.dart'; +import 'package:cims_apps/application/theme/color_palette.dart'; +import 'package:cims_apps/core/route/route.dart'; +import 'package:cims_apps/core/utils/size_config.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/submission_parent.dart'; +import 'package:flutter/material.dart'; + +class ConfirmBankAccount extends StatelessWidget { + const ConfirmBankAccount({Key? key}) : super(key: key); + + @override + Widget build(BuildContext context) { + List listData = [ + {'title': 'Bank Name', 'subtitle': 'Bank Mandiri'}, + {'title': 'Account Number', 'subtitle': '123002212084'}, + {'title': 'Account Owner Name', 'subtitle': 'Muhamad Rosyidin'}, + {'title': 'Name on ID card', 'subtitle': 'Muhamad Rosyidin'}, + ]; + return Scaffold( + appBar: AppBar( + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const ButtonBack(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), + ), + body: SingleChildScrollView( + padding: const EdgeInsets.all(16.0), + child: SizedBox( + height: SizeConfig.height * .85, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const TextCaption(title: 'Bank account confirmation'), + SizedBox( + height: SizeConfig.height * .6, + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + ...listData.map((e) { + return Padding( + padding: const EdgeInsets.only(bottom: 16.0), + child: Column( + mainAxisAlignment: MainAxisAlignment.start, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + e['title'], + style: const TextStyle( + color: ColorPalette.slate400, fontSize: 16), + ), + Text( + e['subtitle'], + style: const TextStyle( + fontSize: 16, + color: ColorPalette.slate800, + fontWeight: FontWeight.w600), + ), + ], + ), + ); + }).toList(), + const ListTileView( + title: + 'Make sure your data is correct as it will affect the disbursement process', + ), + ], + ), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + ButtonView( + name: 'Recheck', + isOutlined: true, + width: SizeConfig.width * .42, + onPressed: () { + Navigator.pop(context); + }, + ), + ButtonView( + name: 'Confirm', + width: SizeConfig.width * .42, + onPressed: () { + routePush(context, page: const SubmissionParent()); + }, + ), + ], + ) + ], + ), + ), + ), + ); + } +} 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 d0618be..7697f92 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 @@ -1,10 +1,12 @@ import 'package:cims_apps/application/assets/path_assets.dart'; +import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/component/image/image_view.dart'; import 'package:cims_apps/application/component/select_form/select_form_view.dart'; import 'package:cims_apps/application/component/text_caption/text_caption.dart'; import 'package:cims_apps/application/component/text_form/text_form_view.dart'; 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:flutter/material.dart'; @@ -20,7 +22,7 @@ class SubmitBankAccount extends StatelessWidget { ItemSelectForm('key4', 'BANK MANDIRI'), ItemSelectForm('key5', 'CIMB NIAGA'), ]; - return SingleChildScrollView( + return SizedBox( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ @@ -48,6 +50,13 @@ class SubmitBankAccount extends StatelessWidget { style: TextStyle( color: ColorPalette.slate400, ), + ), + const Spacer(), + ButtonView( + name: 'Next', + onPressed: () { + routePush(context, page: 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 cdaa065..b81c231 100644 --- a/lib/features/auth/registration/view/submission_data/submission_parent.dart +++ b/lib/features/auth/registration/view/submission_data/submission_parent.dart @@ -1,8 +1,10 @@ +import 'package:cims_apps/application/component/button/button_back.dart'; import 'package:cims_apps/application/component/button/button_view.dart'; import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/submit_bank_account.dart'; +import 'package:cims_apps/features/auth/registration/view/submission_data/risk_profile/risk_profile_view.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_data_id_card.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_photo_ktp.dart'; import 'package:cims_apps/features/auth/registration/view/submission_data/submit_email.dart'; @@ -55,9 +57,7 @@ class _SubmissionParentState extends State { child: Text("Step 7"), ); case 8: - return Container( - child: Text("Step 8"), - ); + return const RiskProfileView(); case 9: return Container( child: Text("Step 9"), @@ -79,7 +79,22 @@ class _SubmissionParentState extends State { }, child: Scaffold( appBar: AppBar( - title: const Text('Registration'), + toolbarHeight: 70, + backgroundColor: Colors.white, + surfaceTintColor: Colors.white, + automaticallyImplyLeading: false, + title: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const ButtonBack(), + const Text('Registration'), + SizedBox( + width: SizeConfig.width * 0.1, + ) + ], + ), + shape: const RoundedRectangleBorder( + side: BorderSide(color: ColorPalette.slate200)), ), body: Stack( children: [ @@ -111,7 +126,8 @@ class _SubmissionParentState extends State { ), ), provider.getCurrentStep == 3 || - provider.getCurrentStep == 4 + provider.getCurrentStep == 4 || + provider.getCurrentStep == 6 ? const SizedBox() : Align( alignment: Alignment.bottomCenter, diff --git a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart index c20971f..e320808 100644 --- a/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart +++ b/lib/features/dashboard/dashboard_public/view/dashboard_public_view.dart @@ -5,8 +5,8 @@ import 'package:cims_apps/application/theme/color_palette.dart'; import 'package:cims_apps/core/route/route.dart'; import 'package:cims_apps/core/utils/size_config.dart'; import 'package:cims_apps/features/auth/login/view/login_view.dart'; +import 'package:cims_apps/features/auth/registration/view/initial_registration_step.dart'; import 'package:cims_apps/features/auth/registration/view/registration_view.dart'; -import 'package:cims_apps/features/bottom_navigation_view.dart'; import 'package:flutter/material.dart'; class DashboardPublicView extends StatelessWidget { @@ -93,7 +93,9 @@ class DashboardPublicView extends StatelessWidget { image: PathAssets.iconGoogle, width: 26, ), - onPressed: () {}, + onPressed: () { + routePush(context, page: const InitialRegistrationStep()); + }, ), Row( mainAxisAlignment: MainAxisAlignment.spaceBetween,