@@ -19,22 +19,28 @@ class AddWishScreen extends StatelessWidget {
1919 child: Column (
2020 crossAxisAlignment: CrossAxisAlignment .start,
2121 children: [
22- const ImagePicker (),
22+ const ImagePickerWidget (),
2323 BlocBuilder <AddWishBloc , AddWishState >(
2424 builder: (context, state) {
2525 return MyTextFormField (
2626 labelText: 'Nama Tabungan' ,
2727 prefixIcon: Icons .notes,
2828 onChanged: (value) {
29- context.read <AddWishBloc >().add (WishNameChanged (wishName: value ?? '' ));
29+ context
30+ .read <AddWishBloc >()
31+ .add (WishNameChanged (wishName: value ?? '' ));
3032 },
3133 validator: (value) {
3234 if (value! .isEmpty || value == '' ) {
33- context.read <AddWishBloc >().add (const WishNameValidation (isNameValid: false ));
35+ context
36+ .read <AddWishBloc >()
37+ .add (const WishNameValidation (isNameValid: false ));
3438
3539 return 'Nama tabungan harus diisi' ;
3640 }
37- context.read <AddWishBloc >().add (const WishNameValidation (isNameValid: true ));
41+ context
42+ .read <AddWishBloc >()
43+ .add (const WishNameValidation (isNameValid: true ));
3844 return null ;
3945 },
4046 isValid: state.isNameValid,
@@ -49,15 +55,21 @@ class AddWishScreen extends StatelessWidget {
4955 prefixText: 'Rp.' ,
5056 isCurrency: true ,
5157 onChanged: (value) {
52- context.read <AddWishBloc >().add (WishSavingTargetChanged (value: value ?? '0' ));
58+ context
59+ .read <AddWishBloc >()
60+ .add (WishSavingTargetChanged (value: value ?? '0' ));
5361 },
5462 validator: (value) {
5563 if (value! .isEmpty || value == '' ) {
56- context.read <AddWishBloc >().add (const WishTargetValidation (isSavingTargetValid: false ));
64+ context.read <AddWishBloc >().add (
65+ const WishTargetValidation (
66+ isSavingTargetValid: false ));
5767
5868 return 'Target tidak boleh kosong' ;
5969 }
60- context.read <AddWishBloc >().add (const WishTargetValidation (isSavingTargetValid: true ));
70+ context.read <AddWishBloc >().add (
71+ const WishTargetValidation (
72+ isSavingTargetValid: true ));
6173 return null ;
6274 },
6375 isValid: state.isSavingTargetValid,
@@ -67,7 +79,8 @@ class AddWishScreen extends StatelessWidget {
6779 const SizedBox (height: 10 ),
6880 Text (
6981 "Rencana Pengisian" ,
70- style: theme.textTheme.titleSmall? .copyWith (color: theme.colorScheme.primary),
82+ style: theme.textTheme.titleSmall
83+ ? .copyWith (color: theme.colorScheme.primary),
7184 ),
7285 const SizedBox (height: 8 ),
7386 Row (
@@ -77,7 +90,8 @@ class AddWishScreen extends StatelessWidget {
7790 builder: (context, state) {
7891 return SegmentedButton <SavingPlan >(
7992 onSelectionChanged: (newSelection) {
80- context.read <AddWishBloc >().add (WishSavingPlanChanged (savingPlan: newSelection.first));
93+ context.read <AddWishBloc >().add (WishSavingPlanChanged (
94+ savingPlan: newSelection.first));
8195 },
8296 showSelectedIcon: false ,
8397 segments: const [
@@ -108,19 +122,30 @@ class AddWishScreen extends StatelessWidget {
108122 prefixText: 'Rp.' ,
109123 isCurrency: true ,
110124 onChanged: (value) {
111- context.read <AddWishBloc >().add (WishSavingNominalChanged (value: value ?? '0' ));
125+ context
126+ .read <AddWishBloc >()
127+ .add (WishSavingNominalChanged (value: value ?? '0' ));
112128 },
113129 validator: (value) {
114- if (value! .isEmpty || value == '' || int .parse ((value).replaceAll ('.' , '' )) <= 0 ) {
115- context.read <AddWishBloc >().add (const WishNominalValidation (isSavingNominalValid: false ));
130+ if (value! .isEmpty ||
131+ value == '' ||
132+ int .parse ((value).replaceAll ('.' , '' )) <= 0 ) {
133+ context.read <AddWishBloc >().add (
134+ const WishNominalValidation (
135+ isSavingNominalValid: false ));
116136
117137 return 'Target per ${Wish .savingPlanTimeName (state .newWish .savingPlan ).toLowerCase ()} tidak boleh kosong' ;
118- } else if (int .parse ((value).replaceAll ('.' , '' )) >= state.newWish.savingTarget) {
119- context.read <AddWishBloc >().add (const WishNominalValidation (isSavingNominalValid: false ));
138+ } else if (int .parse ((value).replaceAll ('.' , '' )) >=
139+ state.newWish.savingTarget) {
140+ context.read <AddWishBloc >().add (
141+ const WishNominalValidation (
142+ isSavingNominalValid: false ));
120143
121144 return 'Target per ${Wish .savingPlanTimeName (state .newWish .savingPlan ).toLowerCase ()} harus kurang dari target tabungan' ;
122145 }
123- context.read <AddWishBloc >().add (const WishNominalValidation (isSavingNominalValid: true ));
146+ context.read <AddWishBloc >().add (
147+ const WishNominalValidation (
148+ isSavingNominalValid: true ));
124149 return null ;
125150 },
126151 isValid: state.isSavingNominalValid,
0 commit comments