Compare commits
No commits in common. "d1adfd2ab0dae6037ae553d84f83770171195b1c" and "1904e9a4a3604423335891792a11cc4ff5e5be2f" have entirely different histories.
d1adfd2ab0
...
1904e9a4a3
|
@ -47,7 +47,6 @@ class SelectFormView extends StatelessWidget {
|
||||||
bottomSheet() {
|
bottomSheet() {
|
||||||
showModalBottomSheet<void>(
|
showModalBottomSheet<void>(
|
||||||
context: context,
|
context: context,
|
||||||
isDismissible: false,
|
|
||||||
shape: RoundedRectangleBorder(
|
shape: RoundedRectangleBorder(
|
||||||
borderRadius: BorderRadius.only(
|
borderRadius: BorderRadius.only(
|
||||||
topLeft: _borderRadius,
|
topLeft: _borderRadius,
|
||||||
|
@ -83,10 +82,7 @@ class SelectFormView extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
IconButton(
|
IconButton(
|
||||||
onPressed: () {
|
onPressed: () => Navigator.pop(context),
|
||||||
ctrl?.clear();
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
icon: const Icon(
|
icon: const Icon(
|
||||||
Icons.clear,
|
Icons.clear,
|
||||||
size: 26,
|
size: 26,
|
||||||
|
@ -138,7 +134,7 @@ class SelectFormView extends StatelessWidget {
|
||||||
onTap: () {
|
onTap: () {
|
||||||
stateSetter(() {
|
stateSetter(() {
|
||||||
ctrl?.text = e.text;
|
ctrl?.text = e.text;
|
||||||
onSelect(e.text);
|
onSelect(e.key);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
|
@ -152,9 +148,7 @@ class SelectFormView extends StatelessWidget {
|
||||||
name: 'Select',
|
name: 'Select',
|
||||||
marginVertical: 4.0,
|
marginVertical: 4.0,
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
if (ctrl!.text.isNotEmpty) {
|
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
}
|
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
|
|
|
@ -31,11 +31,10 @@ class RegistrationView extends StatelessWidget {
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
builder: (BuildContext context) {
|
builder: (BuildContext context) {
|
||||||
var flutterView = View.of(context);
|
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: EdgeInsets.only(
|
padding: EdgeInsets.only(
|
||||||
top: MediaQueryData.fromView(
|
top: MediaQueryData.fromView(
|
||||||
flutterView,
|
WidgetsBinding.instance.window,
|
||||||
).padding.top,
|
).padding.top,
|
||||||
),
|
),
|
||||||
child: const OtpView(
|
child: const OtpView(
|
||||||
|
|
|
@ -1,108 +0,0 @@
|
||||||
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/custom_app_bar/custom_app_bar.dart';
|
|
||||||
import 'package:cims_apps/application/component/image/image_view.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/utils/size_config.dart';
|
|
||||||
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
|
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class ListBankView extends StatelessWidget {
|
|
||||||
final ValueChanged<String> onSelect;
|
|
||||||
const ListBankView({Key? key, required this.onSelect}) : super(key: key);
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
var textTheme = Theme.of(context).textTheme;
|
|
||||||
|
|
||||||
return ChangeNotifierProvider(
|
|
||||||
create: (context) => SubmissionDataViewModel(),
|
|
||||||
builder: (context, child) {
|
|
||||||
return Scaffold(
|
|
||||||
appBar: CustomAppBar(
|
|
||||||
height: SizeConfig.height * .1, title: 'Select Bank'),
|
|
||||||
body: Container(
|
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 16.0),
|
|
||||||
child: Consumer<SubmissionDataViewModel>(
|
|
||||||
builder: (context, provider, child) {
|
|
||||||
return Column(
|
|
||||||
children: [
|
|
||||||
Row(
|
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
||||||
children: [
|
|
||||||
ImageView(
|
|
||||||
image: PathAssets.imgGuideBank,
|
|
||||||
width: SizeConfig.width * .35,
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: Text(
|
|
||||||
'Make sure the bank you choose is a bank account in your own name ',
|
|
||||||
style: textTheme.bodyLarge,
|
|
||||||
),
|
|
||||||
)
|
|
||||||
],
|
|
||||||
),
|
|
||||||
TextFormView(
|
|
||||||
name: '',
|
|
||||||
hintText: 'Search bank',
|
|
||||||
ctrl: provider.ctrlBankNameSearch,
|
|
||||||
contentPadding: const EdgeInsets.symmetric(vertical: 0),
|
|
||||||
prefixIcon: const Icon(
|
|
||||||
Icons.search,
|
|
||||||
color: ColorPalette.slate500,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
Expanded(
|
|
||||||
child: SingleChildScrollView(
|
|
||||||
child: Column(
|
|
||||||
children: provider.listBank.asMap().entries.map((e) {
|
|
||||||
bool selectedBank =
|
|
||||||
e.key.toString() == provider.idx;
|
|
||||||
return Card(
|
|
||||||
elevation: 0,
|
|
||||||
color: selectedBank
|
|
||||||
? ColorPalette.blue50
|
|
||||||
: Colors.white,
|
|
||||||
shape: const RoundedRectangleBorder(
|
|
||||||
borderRadius:
|
|
||||||
BorderRadius.all(Radius.circular(12)),
|
|
||||||
),
|
|
||||||
child: ListTile(
|
|
||||||
title: Text(
|
|
||||||
e.value.text,
|
|
||||||
style: TextStyle(
|
|
||||||
fontSize: 16,
|
|
||||||
fontWeight: FontWeight.w600,
|
|
||||||
color: selectedBank
|
|
||||||
? ColorPalette.primary
|
|
||||||
: ColorPalette.slate500,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
onTap: () {
|
|
||||||
provider.changeBank(e.key.toString());
|
|
||||||
provider.selectBank(e.value.text);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}).toList(),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ButtonView(
|
|
||||||
name: 'Select',
|
|
||||||
marginVertical: 8.0,
|
|
||||||
onPressed: () {
|
|
||||||
onSelect(provider.valueBank);
|
|
||||||
Navigator.pop(context);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
],
|
|
||||||
);
|
|
||||||
}),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,13 +1,13 @@
|
||||||
import 'package:cims_apps/application/assets/path_assets.dart';
|
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/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/image/image_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_caption/text_caption.dart';
|
||||||
import 'package:cims_apps/application/component/text_form/text_form_view.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/application/theme/color_palette.dart';
|
||||||
import 'package:cims_apps/core/route/route.dart';
|
import 'package:cims_apps/core/route/route.dart';
|
||||||
import 'package:cims_apps/core/utils/size_config.dart';
|
import 'package:cims_apps/core/utils/size_config.dart';
|
||||||
import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart';
|
import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/guide_screen.dart';
|
||||||
import 'package:cims_apps/features/auth/registration/view/submission_data/data_bank/list_bank_view.dart';
|
|
||||||
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
|
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
@ -19,40 +19,6 @@ class SubmitBankAccount extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
showSearchBank(TextEditingController valueCtrl) {
|
|
||||||
showModalBottomSheet(
|
|
||||||
context: context,
|
|
||||||
isScrollControlled: true,
|
|
||||||
enableDrag: false,
|
|
||||||
shape: const RoundedRectangleBorder(
|
|
||||||
borderRadius: BorderRadius.vertical(
|
|
||||||
top: Radius.zero,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
builder: (BuildContext context) {
|
|
||||||
return StatefulBuilder(
|
|
||||||
builder: (context, setState) {
|
|
||||||
var flutterView = View.of(context);
|
|
||||||
return Padding(
|
|
||||||
padding: EdgeInsets.only(
|
|
||||||
top: MediaQueryData.fromView(
|
|
||||||
flutterView,
|
|
||||||
).padding.top,
|
|
||||||
),
|
|
||||||
child: ListBankView(
|
|
||||||
onSelect: (value) {
|
|
||||||
setState(() {
|
|
||||||
valueCtrl.text = value;
|
|
||||||
});
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
},
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
return MultiProvider(
|
return MultiProvider(
|
||||||
providers: [
|
providers: [
|
||||||
ChangeNotifierProvider(
|
ChangeNotifierProvider(
|
||||||
|
@ -68,17 +34,12 @@ class SubmitBankAccount extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
children: [
|
children: [
|
||||||
const TextCaption(title: 'Input your bank account data'),
|
const TextCaption(title: 'Input your bank account data'),
|
||||||
TextFormView(
|
SelectFormView(
|
||||||
name: 'Bank Name',
|
name: 'Bank Name',
|
||||||
hintText: 'Select bank',
|
hintText: 'Select Bank',
|
||||||
readOnly: true,
|
listItem: provider.listBank,
|
||||||
ctrl: provider.ctrlBankName,
|
ctrl: provider.ctrlBankName,
|
||||||
onTap: () {
|
onSelect: (value) {},
|
||||||
showSearchBank(provider.ctrlBankName);
|
|
||||||
},
|
|
||||||
suffixIcon: const Icon(
|
|
||||||
Icons.keyboard_arrow_down_outlined,
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
TextFormView(
|
TextFormView(
|
||||||
name: 'Account Number',
|
name: 'Account Number',
|
||||||
|
|
|
@ -3,7 +3,6 @@ import 'package:cims_apps/application/component/button/button_view.dart';
|
||||||
import 'package:cims_apps/application/component/set_pin_view/set_pin_view.dart';
|
import 'package:cims_apps/application/component/set_pin_view/set_pin_view.dart';
|
||||||
import 'package:cims_apps/application/theme/color_palette.dart';
|
import 'package:cims_apps/application/theme/color_palette.dart';
|
||||||
import 'package:cims_apps/core/route/route.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/viewmodel/submission_data_viewmodel.dart';
|
import 'package:cims_apps/features/auth/registration/viewmodel/submission_data_viewmodel.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
@ -61,11 +60,15 @@ class TermsAndConditionView extends StatelessWidget {
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}),
|
})
|
||||||
Consumer<SubmissionDataViewModel>(
|
],
|
||||||
|
),
|
||||||
|
),
|
||||||
|
bottomNavigationBar: Consumer<SubmissionDataViewModel>(
|
||||||
builder: (context, provider, child) {
|
builder: (context, provider, child) {
|
||||||
return Padding(
|
return Container(
|
||||||
padding: const EdgeInsets.only(top: 24.0),
|
height: 84,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 24),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
Expanded(
|
Expanded(
|
||||||
|
@ -74,8 +77,7 @@ class TermsAndConditionView extends StatelessWidget {
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
Navigator.pop(context);
|
Navigator.pop(context);
|
||||||
},
|
},
|
||||||
height: SizeConfig.height * .06,
|
marginVertical: 16,
|
||||||
marginVertical: 0,
|
|
||||||
backgroundColor: ColorPalette.white,
|
backgroundColor: ColorPalette.white,
|
||||||
textColor: ColorPalette.primary,
|
textColor: ColorPalette.primary,
|
||||||
isOutlined: true,
|
isOutlined: true,
|
||||||
|
@ -94,15 +96,11 @@ class TermsAndConditionView extends StatelessWidget {
|
||||||
submitPin: (context, pin) {},
|
submitPin: (context, pin) {},
|
||||||
));
|
));
|
||||||
},
|
},
|
||||||
height: SizeConfig.height * .06,
|
marginVertical: 16))
|
||||||
marginVertical: 0))
|
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}),
|
}),
|
||||||
],
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,11 +19,8 @@ class SubmissionDataViewModel extends ChangeNotifier {
|
||||||
TextEditingController ctrlMarital = TextEditingController();
|
TextEditingController ctrlMarital = TextEditingController();
|
||||||
TextEditingController ctrlSourceFund = TextEditingController();
|
TextEditingController ctrlSourceFund = TextEditingController();
|
||||||
TextEditingController ctrlBankName = TextEditingController();
|
TextEditingController ctrlBankName = TextEditingController();
|
||||||
TextEditingController ctrlBankNameSearch = TextEditingController();
|
|
||||||
TextEditingController ctrlBirthDate = TextEditingController();
|
TextEditingController ctrlBirthDate = TextEditingController();
|
||||||
int step = 1;
|
int step = 1;
|
||||||
String? idx;
|
|
||||||
String valueBank = '';
|
|
||||||
|
|
||||||
List<ItemSelectForm> listOccupation = [
|
List<ItemSelectForm> listOccupation = [
|
||||||
ItemSelectForm('key1', 'Student'),
|
ItemSelectForm('key1', 'Student'),
|
||||||
|
@ -47,13 +44,11 @@ class SubmissionDataViewModel extends ChangeNotifier {
|
||||||
];
|
];
|
||||||
|
|
||||||
List<ItemSelectForm> listBank = [
|
List<ItemSelectForm> listBank = [
|
||||||
ItemSelectForm('0', 'BCA'),
|
ItemSelectForm('key1', 'BCA'),
|
||||||
ItemSelectForm('1', 'BRI'),
|
ItemSelectForm('key2', 'BRI'),
|
||||||
ItemSelectForm('2', 'BNI'),
|
ItemSelectForm('key3', 'BNI'),
|
||||||
ItemSelectForm('3', 'BANK MANDIRI'),
|
ItemSelectForm('key4', 'BANK MANDIRI'),
|
||||||
ItemSelectForm('4', 'CIMB NIAGA'),
|
ItemSelectForm('key5', 'CIMB NIAGA'),
|
||||||
ItemSelectForm('5', 'PERMATA'),
|
|
||||||
ItemSelectForm('6', 'BANK JATENG'),
|
|
||||||
];
|
];
|
||||||
|
|
||||||
List<ItemSelectForm> listImg = [
|
List<ItemSelectForm> listImg = [
|
||||||
|
@ -110,14 +105,4 @@ class SubmissionDataViewModel extends ChangeNotifier {
|
||||||
}
|
}
|
||||||
notifyListeners();
|
notifyListeners();
|
||||||
}
|
}
|
||||||
|
|
||||||
changeBank(String key) {
|
|
||||||
idx = key;
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
|
|
||||||
selectBank(String value) {
|
|
||||||
valueBank = value;
|
|
||||||
notifyListeners();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ class DashboardPublicView extends StatelessWidget {
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: SingleChildScrollView(
|
body: SingleChildScrollView(
|
||||||
padding: const EdgeInsets.only(
|
padding: const EdgeInsets.only(
|
||||||
|
top: 36.0,
|
||||||
bottom: 8.0,
|
bottom: 8.0,
|
||||||
left: 24.0,
|
left: 24.0,
|
||||||
right: 24.0,
|
right: 24.0,
|
||||||
|
@ -54,11 +55,11 @@ class DashboardPublicView extends StatelessWidget {
|
||||||
crossAxisAlignment: CrossAxisAlignment.start,
|
crossAxisAlignment: CrossAxisAlignment.start,
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
SizedBox(height: SizeConfig.height * .06),
|
|
||||||
ImageView(
|
ImageView(
|
||||||
image: PathAssets.icon1,
|
image: PathAssets.icon1,
|
||||||
width: SizeConfig.width * .35,
|
width: SizeConfig.width * .35,
|
||||||
),
|
),
|
||||||
|
SizedBox(height: SizeConfig.height * .03),
|
||||||
Align(
|
Align(
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
heightFactor: 1,
|
heightFactor: 1,
|
||||||
|
@ -67,7 +68,7 @@ class DashboardPublicView extends StatelessWidget {
|
||||||
alignment: Alignment.center,
|
alignment: Alignment.center,
|
||||||
child: ImageView(
|
child: ImageView(
|
||||||
image: PathAssets.imgDashboard,
|
image: PathAssets.imgDashboard,
|
||||||
width: SizeConfig.width * .8,
|
width: SizeConfig.width * .7,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Row(
|
Row(
|
||||||
|
@ -105,7 +106,7 @@ class DashboardPublicView extends StatelessWidget {
|
||||||
provider.loginGoogle(context);
|
provider.loginGoogle(context);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
SizedBox(height: SizeConfig.height * .1),
|
SizedBox(height: SizeConfig.height * .07),
|
||||||
Row(
|
Row(
|
||||||
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
||||||
children: [
|
children: [
|
||||||
|
|
Loading…
Reference in New Issue
Block a user