From 40cf997c0a9755d9f73d3cee803c6f26b9d90596 Mon Sep 17 00:00:00 2001 From: Bunga Amalia Date: Mon, 17 May 2021 11:46:47 +0700 Subject: [PATCH 1/4] [REFACTOR] mengubah nama file dan kelas yang salah --- lib/Component/modal_bottom_admin_info.dart | 2 +- lib/Component/router.dart | 2 +- lib/Pages/Bank/{rekening.dart => bank_account.dart} | 12 ++++++------ lib/Pages/Donation/goods_donation_page.dart | 4 ++-- lib/Pages/Donation/money_donation_page.dart | 6 +++--- lib/Pages/DonationHistory/donation_history.dart | 2 +- lib/Pages/DonationReupload/donation_re_upload.dart | 2 +- lib/Pages/Login/login.dart | 2 +- lib/Pages/Product/category_page.dart | 2 +- lib/Pages/ProductPayment/product_payment.dart | 2 +- lib/Pages/Program/program_page.dart | 2 +- lib/Pages/Register/register.dart | 2 +- lib/Pages/Summary/summary_page.dart | 2 +- lib/Pages/Transactions/my_orders.dart | 2 +- ...ositories.dart => dependencies_repositories.dart} | 0 .../bloc.dart | 0 .../change_bottom_navigation_bar_bloc.dart | 0 .../change_bottom_navigation_bar_event.dart | 0 .../change_bottom_navigation_bar_state.dart | 0 lib/home_industry_app.dart | 2 +- lib/main.dart | 2 +- test/assertion_test.dart | 2 +- test/bottom_navigation_bar_test.dart | 2 +- test/cart_page_test.dart | 2 +- test/category_page_test.dart | 2 +- test/detail_order_test.dart | 2 +- test/goods_donation_page_test.dart | 2 +- test/home_test.dart | 2 +- test/main_test.dart | 2 +- test/money_donation_page_test.dart | 2 +- test/my_donations_test.dart | 2 +- test/my_orders_test.dart | 2 +- test/product_payment_test.dart | 2 +- test/program_page_test.dart | 2 +- test/register_test.dart | 2 +- test/reupload_donation_test.dart | 2 +- test/summary_test.dart | 2 +- 37 files changed, 40 insertions(+), 40 deletions(-) rename lib/Pages/Bank/{rekening.dart => bank_account.dart} (95%) rename lib/State/Auth/repositories/{depedencies_repositories.dart => dependencies_repositories.dart} (100%) rename lib/State/{ChangeBottomNavigatonBar => ChangeBottomNavigationBar}/bloc.dart (100%) rename lib/State/{ChangeBottomNavigatonBar => ChangeBottomNavigationBar}/change_bottom_navigation_bar_bloc.dart (100%) rename lib/State/{ChangeBottomNavigatonBar => ChangeBottomNavigationBar}/change_bottom_navigation_bar_event.dart (100%) rename lib/State/{ChangeBottomNavigatonBar => ChangeBottomNavigationBar}/change_bottom_navigation_bar_state.dart (100%) diff --git a/lib/Component/modal_bottom_admin_info.dart b/lib/Component/modal_bottom_admin_info.dart index f575c04..6dabb97 100644 --- a/lib/Component/modal_bottom_admin_info.dart +++ b/lib/Component/modal_bottom_admin_info.dart @@ -3,7 +3,7 @@ import 'package:flutter/services.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:home_industry/Component/border_blue_button.dart'; import 'package:home_industry/State/AdminInfo/repositories/admin_info_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:url_launcher/url_launcher.dart'; import 'custom_circular.dart'; diff --git a/lib/Component/router.dart b/lib/Component/router.dart index 4dbe30e..c4a9a68 100644 --- a/lib/Component/router.dart +++ b/lib/Component/router.dart @@ -28,7 +28,7 @@ import 'package:home_industry/Pages/Transactions/bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/detail_bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/my_detail_order.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import '../Pages/Program/repositories/program_repository.dart'; diff --git a/lib/Pages/Bank/rekening.dart b/lib/Pages/Bank/bank_account.dart similarity index 95% rename from lib/Pages/Bank/rekening.dart rename to lib/Pages/Bank/bank_account.dart index 7b2d572..fd30d40 100644 --- a/lib/Pages/Bank/rekening.dart +++ b/lib/Pages/Bank/bank_account.dart @@ -6,16 +6,16 @@ import 'package:home_industry/Pages/Bank/bloc/bloc.dart'; import 'package:home_industry/Pages/Bank/model/bank.dart'; import 'package:home_industry/Pages/Bank/repositories/bank_repository.dart'; import 'package:home_industry/Pages/ProductPayment/product_payment.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:provider/provider.dart'; -class _RekeningBank extends StatefulWidget { - const _RekeningBank({Key key}) : super(key: key); +class _BankAccount extends StatefulWidget { + const _BankAccount({Key key}) : super(key: key); @override - __RekeningBankState createState() => __RekeningBankState(); + _BankAccountState createState() => _BankAccountState(); } -class __RekeningBankState extends State<_RekeningBank> { +class _BankAccountState extends State<_BankAccount> { BankBloc _bankBlocBloc; ScrollController _scrollController; static const _scrollThreshold = 300; @@ -193,7 +193,7 @@ class _RekeningState extends State { return ChangeNotifierProvider.value( value: selectedBank, child: const FractionallySizedBox( - heightFactor: 0.5, child: _RekeningBank()), + heightFactor: 0.5, child: _BankAccount()), ); }, isScrollControlled: true, diff --git a/lib/Pages/Donation/goods_donation_page.dart b/lib/Pages/Donation/goods_donation_page.dart index e0cacdf..e938d6a 100644 --- a/lib/Pages/Donation/goods_donation_page.dart +++ b/lib/Pages/Donation/goods_donation_page.dart @@ -4,8 +4,8 @@ import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:home_industry/Component/product_image.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; import 'bloc_goods_donation/goods_donation_bloc.dart'; import 'bloc_goods_donation/goods_donation_event.dart'; import 'bloc_goods_donation/goods_donation_state.dart'; diff --git a/lib/Pages/Donation/money_donation_page.dart b/lib/Pages/Donation/money_donation_page.dart index eca2cfc..5abcbf8 100644 --- a/lib/Pages/Donation/money_donation_page.dart +++ b/lib/Pages/Donation/money_donation_page.dart @@ -8,14 +8,14 @@ import 'package:home_industry/Component/blue_button.dart'; import 'package:home_industry/Component/border_blue_button.dart'; import 'package:home_industry/Component/custom_input_form.dart'; import 'package:home_industry/Component/product_image.dart'; -import 'package:home_industry/Pages/Bank/rekening.dart'; +import 'package:home_industry/Pages/Bank/bank_account.dart'; import 'package:home_industry/Pages/Donation/bloc_money_donation/bloc.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/Pages/DonationHistory/model/donation.dart'; import 'package:home_industry/Pages/ProductPayment/product_payment.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/typedef/donasi.dart'; import 'package:image_picker/image_picker.dart'; import 'package:provider/provider.dart'; diff --git a/lib/Pages/DonationHistory/donation_history.dart b/lib/Pages/DonationHistory/donation_history.dart index b7d85ea..c09ddca 100644 --- a/lib/Pages/DonationHistory/donation_history.dart +++ b/lib/Pages/DonationHistory/donation_history.dart @@ -6,7 +6,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:home_industry/Component/custom_circular.dart'; import 'package:home_industry/Pages/DonationHistory/bloc/bloc.dart'; import 'package:home_industry/Pages/DonationHistory/model/donation.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/Component/price_text_formatter.dart'; import 'package:home_industry/Component/router.dart'; import 'package:intl/intl.dart'; diff --git a/lib/Pages/DonationReupload/donation_re_upload.dart b/lib/Pages/DonationReupload/donation_re_upload.dart index 088d04b..0b58546 100644 --- a/lib/Pages/DonationReupload/donation_re_upload.dart +++ b/lib/Pages/DonationReupload/donation_re_upload.dart @@ -10,7 +10,7 @@ import 'package:home_industry/Pages/DonationHistory/model/donation.dart'; import 'package:home_industry/Pages/DonationReupload/bloc/donation_reupload_bloc.dart'; import 'package:home_industry/Pages/DonationReupload/bloc/donation_reupload_event.dart'; import 'package:home_industry/Pages/DonationReupload/repositories/reupload_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'bloc/donation_reupload_state.dart'; diff --git a/lib/Pages/Login/login.dart b/lib/Pages/Login/login.dart index c779e0a..8d0442b 100644 --- a/lib/Pages/Login/login.dart +++ b/lib/Pages/Login/login.dart @@ -8,7 +8,7 @@ import 'package:home_industry/Pages/Login/bloc/login_event.dart'; import 'package:home_industry/Pages/Login/bloc/login_state.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/Auth/repositories/otp_repository.dart'; import 'login_phone.dart'; diff --git a/lib/Pages/Product/category_page.dart b/lib/Pages/Product/category_page.dart index 5bfdb83..58c925c 100644 --- a/lib/Pages/Product/category_page.dart +++ b/lib/Pages/Product/category_page.dart @@ -9,7 +9,7 @@ import 'package:home_industry/Pages/Product/component/scaffold_sliver.dart'; import 'package:home_industry/Pages/Product/model/category/category.dart'; import 'package:home_industry/Pages/Product/repositories/category_sub_repositories.dart'; import 'package:home_industry/Pages/Product/repositories/product_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'component/list_product_grid.dart'; diff --git a/lib/Pages/ProductPayment/product_payment.dart b/lib/Pages/ProductPayment/product_payment.dart index 8d85ce1..a06859e 100644 --- a/lib/Pages/ProductPayment/product_payment.dart +++ b/lib/Pages/ProductPayment/product_payment.dart @@ -11,7 +11,7 @@ import 'package:home_industry/Component/image_dialog.dart'; import 'package:home_industry/Component/price_text_formatter.dart'; import 'package:home_industry/Component/product_image.dart'; import 'package:home_industry/Pages/Bank/model/bank.dart'; -import 'package:home_industry/Pages/Bank/rekening.dart'; +import 'package:home_industry/Pages/Bank/bank_account.dart'; import 'package:home_industry/Pages/ProductPayment/bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/model/transaction_item_entity.dart'; diff --git a/lib/Pages/Program/program_page.dart b/lib/Pages/Program/program_page.dart index cbe9ad7..c2568fc 100644 --- a/lib/Pages/Program/program_page.dart +++ b/lib/Pages/Program/program_page.dart @@ -12,7 +12,7 @@ import 'package:home_industry/Pages/Program/bloc_search_program/bloc.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; import 'package:home_industry/Pages/Program/program_search_delegate.dart'; import 'package:home_industry/Pages/Program/repositories/program_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; class Programs extends StatefulWidget { const Programs({Key key}) : super(key: key); diff --git a/lib/Pages/Register/register.dart b/lib/Pages/Register/register.dart index 71a4c2b..df2ed9c 100644 --- a/lib/Pages/Register/register.dart +++ b/lib/Pages/Register/register.dart @@ -6,7 +6,7 @@ import 'package:home_industry/Component/custom_input_form.dart'; import 'package:home_industry/Pages/Register/bloc/bloc.dart'; import 'package:home_industry/Pages/Register/model/register_model.dart'; import 'package:home_industry/Pages/Register/repositories/register_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:outline_material_icons/outline_material_icons.dart'; class Register extends StatelessWidget { diff --git a/lib/Pages/Summary/summary_page.dart b/lib/Pages/Summary/summary_page.dart index d5411ab..c759acf 100644 --- a/lib/Pages/Summary/summary_page.dart +++ b/lib/Pages/Summary/summary_page.dart @@ -12,7 +12,7 @@ import 'package:home_industry/Pages/Cart/repositories/cart_repository.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Summary/bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/model/payment_method.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; class SummaryView extends StatefulWidget { const SummaryView({Key key}) : super(key: key); diff --git a/lib/Pages/Transactions/my_orders.dart b/lib/Pages/Transactions/my_orders.dart index 466ce22..02c196a 100644 --- a/lib/Pages/Transactions/my_orders.dart +++ b/lib/Pages/Transactions/my_orders.dart @@ -11,7 +11,7 @@ import 'package:home_industry/Pages/Transactions/bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/model/status.dart'; import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; class MyOrderView extends StatelessWidget { const MyOrderView({Key key}) : super(key: key); diff --git a/lib/State/Auth/repositories/depedencies_repositories.dart b/lib/State/Auth/repositories/dependencies_repositories.dart similarity index 100% rename from lib/State/Auth/repositories/depedencies_repositories.dart rename to lib/State/Auth/repositories/dependencies_repositories.dart diff --git a/lib/State/ChangeBottomNavigatonBar/bloc.dart b/lib/State/ChangeBottomNavigationBar/bloc.dart similarity index 100% rename from lib/State/ChangeBottomNavigatonBar/bloc.dart rename to lib/State/ChangeBottomNavigationBar/bloc.dart diff --git a/lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart b/lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart similarity index 100% rename from lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart rename to lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart diff --git a/lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_event.dart b/lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_event.dart similarity index 100% rename from lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_event.dart rename to lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_event.dart diff --git a/lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_state.dart b/lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_state.dart similarity index 100% rename from lib/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_state.dart rename to lib/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_state.dart diff --git a/lib/home_industry_app.dart b/lib/home_industry_app.dart index 6b19827..7856b93 100644 --- a/lib/home_industry_app.dart +++ b/lib/home_industry_app.dart @@ -16,7 +16,7 @@ import 'Pages/splash_page.dart'; import 'State/Auth/bloc/authentication_bloc.dart'; import 'State/Auth/bloc/authentication_state.dart'; import 'State/Auth/repositories/auth_repository.dart'; -import 'State/Auth/repositories/depedencies_repositories.dart'; +import 'State/Auth/repositories/dependencies_repositories.dart'; class HomeIndustryApp extends StatelessWidget { final AuthRepository authRepository; diff --git a/lib/main.dart b/lib/main.dart index d73f0a4..72ba03c 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -9,7 +9,7 @@ import 'package:global_configuration/global_configuration.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/bloc/authentication_event.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/assertion_test.dart b/test/assertion_test.dart index ba23d74..9d0e0af 100644 --- a/test/assertion_test.dart +++ b/test/assertion_test.dart @@ -26,7 +26,7 @@ import 'package:home_industry/Pages/Program/program_page.dart'; import 'package:home_industry/Pages/Program/repositories/program_repository.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/home_industry_app.dart'; void main() { diff --git a/test/bottom_navigation_bar_test.dart b/test/bottom_navigation_bar_test.dart index 9af5707..c6c34e5 100644 --- a/test/bottom_navigation_bar_test.dart +++ b/test/bottom_navigation_bar_test.dart @@ -12,7 +12,7 @@ import 'package:home_industry/Component/router.dart' as router; import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/model/profile.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:mockito/mockito.dart'; diff --git a/test/cart_page_test.dart b/test/cart_page_test.dart index 7108e9f..3d76863 100644 --- a/test/cart_page_test.dart +++ b/test/cart_page_test.dart @@ -15,7 +15,7 @@ import 'package:home_industry/Pages/Product/model/product/product.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:mockito/mockito.dart'; diff --git a/test/category_page_test.dart b/test/category_page_test.dart index 4d312a5..820dbb9 100644 --- a/test/category_page_test.dart +++ b/test/category_page_test.dart @@ -17,7 +17,7 @@ import 'package:home_industry/Pages/Product/model/category/list_category.dart'; import 'package:home_industry/Pages/Product/model/product/list_product.dart'; import 'package:home_industry/Pages/Product/model/product/product.dart'; import 'package:home_industry/Pages/Product/model/subcategory/subcategory.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:mockito/mockito.dart'; import 'register_test.dart'; diff --git a/test/detail_order_test.dart b/test/detail_order_test.dart index 5dc37e2..a4a69a3 100644 --- a/test/detail_order_test.dart +++ b/test/detail_order_test.dart @@ -12,7 +12,7 @@ import 'package:home_industry/Pages/Transactions/detail_bloc/detail_order_bloc.d import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/my_detail_order.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; diff --git a/test/goods_donation_page_test.dart b/test/goods_donation_page_test.dart index abf62ea..184c2fe 100644 --- a/test/goods_donation_page_test.dart +++ b/test/goods_donation_page_test.dart @@ -9,7 +9,7 @@ import 'package:home_industry/Pages/Donation/bloc_goods_donation/goods_donation_ import 'package:home_industry/Pages/Donation/bloc_goods_donation/goods_donation_state.dart'; import 'package:home_industry/Pages/Donation/goods_donation_page.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_event.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_state.dart'; diff --git a/test/home_test.dart b/test/home_test.dart index e970930..78400e3 100644 --- a/test/home_test.dart +++ b/test/home_test.dart @@ -8,7 +8,7 @@ import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; import 'package:home_industry/Pages/Home/home_page.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/model/profile.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:mockito/mockito.dart'; import 'category_page_test.dart'; diff --git a/test/main_test.dart b/test/main_test.dart index 3bbf9e8..2af7cd1 100644 --- a/test/main_test.dart +++ b/test/main_test.dart @@ -12,7 +12,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/bloc/authentication_event.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/home_industry_app.dart'; import 'register_test.dart'; diff --git a/test/money_donation_page_test.dart b/test/money_donation_page_test.dart index 73aa8f9..ff6f553 100644 --- a/test/money_donation_page_test.dart +++ b/test/money_donation_page_test.dart @@ -11,7 +11,7 @@ import 'package:home_industry/Pages/Donation/donation_dialog.dart'; import 'package:home_industry/Pages/Donation/money_donation_page.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/my_donations_test.dart b/test/my_donations_test.dart index f2fb24f..fa1fc86 100644 --- a/test/my_donations_test.dart +++ b/test/my_donations_test.dart @@ -7,7 +7,7 @@ import 'package:home_industry/Exceptions/request_api_error.dart'; import 'package:home_industry/Pages/DonationHistory/donation_history.dart'; import 'package:home_industry/Pages/DonationHistory/model/donation.dart'; import 'package:home_industry/Pages/DonationHistory/model/list_donation.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/my_orders_test.dart b/test/my_orders_test.dart index ce9c7e7..7922174 100644 --- a/test/my_orders_test.dart +++ b/test/my_orders_test.dart @@ -9,7 +9,7 @@ import 'package:home_industry/Pages/Transactions/bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/detail_bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/model/list_transaction.dart'; import 'package:home_industry/Pages/Transactions/my_orders.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/product_payment_test.dart b/test/product_payment_test.dart index 1854b1b..e007fd2 100644 --- a/test/product_payment_test.dart +++ b/test/product_payment_test.dart @@ -18,7 +18,7 @@ import 'package:home_industry/Pages/ProductPayment/product_payment.dart'; import 'package:home_industry/Pages/ProductPayment/repositories/payment_repository.dart'; import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; diff --git a/test/program_page_test.dart b/test/program_page_test.dart index a7b41e6..eb71e7c 100644 --- a/test/program_page_test.dart +++ b/test/program_page_test.dart @@ -10,7 +10,7 @@ import 'package:home_industry/Pages/Program/bloc_search_program/bloc.dart'; import 'package:home_industry/Pages/Program/model/list_program.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; import 'package:home_industry/Pages/Program/program_page.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; import 'package:mockito/mockito.dart'; diff --git a/test/register_test.dart b/test/register_test.dart index 79dc15a..4a6c79f 100644 --- a/test/register_test.dart +++ b/test/register_test.dart @@ -7,7 +7,7 @@ import 'package:home_industry/Pages/Register/bloc/bloc.dart'; import 'package:home_industry/Pages/Register/model/register_model.dart'; import 'package:home_industry/Pages/Register/register.dart'; import 'package:home_industry/Pages/Register/repositories/register_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:mockito/mockito.dart'; class MockRegisterBloc extends MockBloc diff --git a/test/reupload_donation_test.dart b/test/reupload_donation_test.dart index f914ece..adc1e56 100644 --- a/test/reupload_donation_test.dart +++ b/test/reupload_donation_test.dart @@ -11,7 +11,7 @@ import 'package:home_industry/Pages/DonationReupload/bloc/donation_reupload_even import 'package:home_industry/Pages/DonationReupload/bloc/donation_reupload_state.dart'; import 'package:home_industry/Pages/DonationReupload/donation_re_upload.dart'; import 'package:home_industry/Pages/DonationReupload/repositories/reupload_repository.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/summary_test.dart b/test/summary_test.dart index 7fa5eac..aaf550f 100644 --- a/test/summary_test.dart +++ b/test/summary_test.dart @@ -19,7 +19,7 @@ import 'package:home_industry/Pages/Summary/model/summary_model.dart'; import 'package:home_industry/Pages/Summary/repositories/summary_repository.dart'; import 'package:home_industry/Pages/Summary/summary_page.dart'; import 'package:home_industry/Pages/Transactions/model/payment_method.dart'; -import 'package:home_industry/State/Auth/repositories/depedencies_repositories.dart'; +import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; -- GitLab From b4f8387b8aaf402550a16bda7ce191f46becf843 Mon Sep 17 00:00:00 2001 From: Bunga Amalia Date: Mon, 17 May 2021 11:56:20 +0700 Subject: [PATCH 2/4] [REFACTOR] mengubah nama file dan kelas yang salah --- lib/Component/bottom_navigation_bar.dart | 2 +- lib/Component/router.dart | 2 +- lib/home_industry_app.dart | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/Component/bottom_navigation_bar.dart b/lib/Component/bottom_navigation_bar.dart index e5027d3..de9b17c 100644 --- a/lib/Component/bottom_navigation_bar.dart +++ b/lib/Component/bottom_navigation_bar.dart @@ -8,7 +8,7 @@ import 'package:home_industry/Pages/Home/home_page.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/profile.dart'; import 'package:home_industry/Pages/Transactions/my_orders.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'modal_bottom_admin_info.dart'; diff --git a/lib/Component/router.dart b/lib/Component/router.dart index c4a9a68..9d1d0e8 100644 --- a/lib/Component/router.dart +++ b/lib/Component/router.dart @@ -29,7 +29,7 @@ import 'package:home_industry/Pages/Transactions/detail_bloc/bloc.dart'; import 'package:home_industry/Pages/Transactions/my_detail_order.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import '../Pages/Program/repositories/program_repository.dart'; class Router { diff --git a/lib/home_industry_app.dart b/lib/home_industry_app.dart index 7856b93..5a8da62 100644 --- a/lib/home_industry_app.dart +++ b/lib/home_industry_app.dart @@ -4,7 +4,7 @@ import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_easyloading/flutter_easyloading.dart'; import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; import 'package:home_industry/Pages/Cart/repositories/cart_repository.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'Component/bottom_navigation_bar.dart'; import 'Component/router.dart'; -- GitLab From 87ddffdfbe73fc8ffdf086ab3998c2ee6ae1302c Mon Sep 17 00:00:00 2001 From: Bunga Amalia Date: Mon, 17 May 2021 12:04:28 +0700 Subject: [PATCH 3/4] [REFACTOR] mengubah nama file dan kelas yang salah --- .../Donation/bloc_goods_donation/goods_donation_bloc.dart | 4 ++-- .../Donation/bloc_money_donation/money_donation_bloc.dart | 4 ++-- lib/Pages/ProductPayment/bloc/payment_bloc.dart | 4 ++-- lib/Pages/Summary/bloc/summary_bloc.dart | 2 +- test/bottom_navigation_bar_test.dart | 2 +- test/cart_page_test.dart | 2 +- test/detail_order_test.dart | 2 +- test/goods_donation_page_test.dart | 6 +++--- test/money_donation_page_test.dart | 2 +- test/product_payment_test.dart | 2 +- test/summary_test.dart | 2 +- 11 files changed, 16 insertions(+), 16 deletions(-) diff --git a/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart b/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart index fc44939..13da4be 100644 --- a/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart +++ b/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart @@ -3,8 +3,8 @@ import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:dio/dio.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; import 'goods_donation_event.dart'; import 'goods_donation_state.dart'; diff --git a/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart b/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart index 43c0a81..fb2e70c 100644 --- a/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart +++ b/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart @@ -2,8 +2,8 @@ import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; import 'money_donation_event.dart'; import 'money_donation_state.dart'; diff --git a/lib/Pages/ProductPayment/bloc/payment_bloc.dart b/lib/Pages/ProductPayment/bloc/payment_bloc.dart index bbc10bf..826e962 100644 --- a/lib/Pages/ProductPayment/bloc/payment_bloc.dart +++ b/lib/Pages/ProductPayment/bloc/payment_bloc.dart @@ -4,8 +4,8 @@ import 'package:bloc/bloc.dart'; import 'package:dio/dio.dart'; import 'package:home_industry/Pages/ProductPayment/repositories/payment_repository.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_event.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_event.dart'; import './bloc.dart'; diff --git a/lib/Pages/Summary/bloc/summary_bloc.dart b/lib/Pages/Summary/bloc/summary_bloc.dart index b333b1a..0f412cc 100644 --- a/lib/Pages/Summary/bloc/summary_bloc.dart +++ b/lib/Pages/Summary/bloc/summary_bloc.dart @@ -6,7 +6,7 @@ import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Summary/repositories/summary_repository.dart'; import 'package:home_industry/Pages/Transactions/model/payment_method.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import './bloc.dart'; diff --git a/test/bottom_navigation_bar_test.dart b/test/bottom_navigation_bar_test.dart index c6c34e5..650d563 100644 --- a/test/bottom_navigation_bar_test.dart +++ b/test/bottom_navigation_bar_test.dart @@ -13,7 +13,7 @@ import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/Pages/Profile/model/profile.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:mockito/mockito.dart'; import 'category_page_test.dart'; diff --git a/test/cart_page_test.dart b/test/cart_page_test.dart index 3d76863..fca2290 100644 --- a/test/cart_page_test.dart +++ b/test/cart_page_test.dart @@ -16,7 +16,7 @@ import 'package:home_industry/Pages/Profile/bloc/bloc.dart'; import 'package:home_industry/State/Auth/bloc/authentication_bloc.dart'; import 'package:home_industry/State/Auth/repositories/auth_repository.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:mockito/mockito.dart'; import 'category_page_test.dart'; diff --git a/test/detail_order_test.dart b/test/detail_order_test.dart index a4a69a3..c595fc1 100644 --- a/test/detail_order_test.dart +++ b/test/detail_order_test.dart @@ -13,7 +13,7 @@ import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/my_detail_order.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/goods_donation_page_test.dart b/test/goods_donation_page_test.dart index 184c2fe..17cdf40 100644 --- a/test/goods_donation_page_test.dart +++ b/test/goods_donation_page_test.dart @@ -10,9 +10,9 @@ import 'package:home_industry/Pages/Donation/bloc_goods_donation/goods_donation_ import 'package:home_industry/Pages/Donation/goods_donation_page.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_bloc.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_event.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/change_bottom_navigation_bar_state.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_event.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_state.dart'; import 'package:intl/intl.dart'; import 'package:mockito/mockito.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; diff --git a/test/money_donation_page_test.dart b/test/money_donation_page_test.dart index ff6f553..5e96270 100644 --- a/test/money_donation_page_test.dart +++ b/test/money_donation_page_test.dart @@ -12,7 +12,7 @@ import 'package:home_industry/Pages/Donation/money_donation_page.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/Pages/Program/model/program.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; import 'package:mockito/mockito.dart'; diff --git a/test/product_payment_test.dart b/test/product_payment_test.dart index e007fd2..2a3b4ff 100644 --- a/test/product_payment_test.dart +++ b/test/product_payment_test.dart @@ -19,7 +19,7 @@ import 'package:home_industry/Pages/ProductPayment/repositories/payment_reposito import 'package:home_industry/Pages/Transactions/model/transaction_entity.dart'; import 'package:home_industry/Pages/Transactions/repositories/transaction_repository.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; diff --git a/test/summary_test.dart b/test/summary_test.dart index aaf550f..32d2335 100644 --- a/test/summary_test.dart +++ b/test/summary_test.dart @@ -20,7 +20,7 @@ import 'package:home_industry/Pages/Summary/repositories/summary_repository.dart import 'package:home_industry/Pages/Summary/summary_page.dart'; import 'package:home_industry/Pages/Transactions/model/payment_method.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; -import 'package:home_industry/State/ChangeBottomNavigatonBar/bloc.dart'; +import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/main.dart'; import 'package:intl/date_symbol_data_local.dart'; import 'package:intl/intl.dart'; -- GitLab From cb9be7f254276efad25f77bad3730a030cd0fa00 Mon Sep 17 00:00:00 2001 From: Bunga Amalia Date: Mon, 17 May 2021 13:37:34 +0700 Subject: [PATCH 4/4] [REFACTOR] merapihkan indentasi hingga folder donation history --- lib/Component/blue_button.dart | 4 +- lib/Component/border_blue_button.dart | 5 +- lib/Component/bottom_navigation_bar.dart | 7 +- lib/Component/cart_icon.dart | 1 + lib/Component/circular_image.dart | 22 +- lib/Component/custom_circular.dart | 1 + lib/Component/custom_input_form.dart | 42 +- lib/Component/home_industry_logo.dart | 9 +- lib/Component/image_dialog.dart | 10 +- lib/Component/modal_bottom_admin_info.dart | 125 ++-- lib/Component/price_text_formatter.dart | 8 +- lib/Component/product_image.dart | 13 +- lib/Component/router.dart | 144 ++-- lib/Component/theme.dart | 5 +- lib/Pages/Bank/bank_account.dart | 91 +-- lib/Pages/Bank/bloc/bank_bloc_bloc.dart | 1 + lib/Pages/Bank/bloc/bank_bloc_event.dart | 1 + lib/Pages/Bank/bloc/bank_bloc_state.dart | 3 + lib/Pages/Cart/bloc/cart_bloc.dart | 1 + lib/Pages/Cart/bloc/cart_event.dart | 6 + lib/Pages/Cart/bloc/cart_state.dart | 6 + lib/Pages/Cart/cart.dart | 583 ++++++++-------- lib/Pages/Cart/model/cart_item.dart | 1 + .../Cart/repositories/cart_repository.dart | 6 +- .../goods_donation_bloc.dart | 6 +- .../goods_donation_event.dart | 16 +- .../goods_donation_state.dart | 6 +- .../money_donation_bloc.dart | 6 +- .../money_donation_event.dart | 1 + .../money_donation_state.dart | 4 + lib/Pages/Donation/donation_dialog.dart | 153 +++-- lib/Pages/Donation/goods_donation_page.dart | 636 +++++++++--------- lib/Pages/Donation/money_donation_page.dart | 197 +++--- .../repositories/donation_repository.dart | 12 +- 34 files changed, 1122 insertions(+), 1010 deletions(-) diff --git a/lib/Component/blue_button.dart b/lib/Component/blue_button.dart index 6d8cbce..ba4019c 100644 --- a/lib/Component/blue_button.dart +++ b/lib/Component/blue_button.dart @@ -18,6 +18,8 @@ class BlueButton extends StatelessWidget { child: Text(label), color: Theme.of(context).primaryColor, textColor: Colors.white, - shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10))); + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + )); } } diff --git a/lib/Component/border_blue_button.dart b/lib/Component/border_blue_button.dart index 0ec3bcf..36cd329 100644 --- a/lib/Component/border_blue_button.dart +++ b/lib/Component/border_blue_button.dart @@ -14,7 +14,10 @@ class BorderBlueButton extends StatelessWidget { return OutlineButton( onPressed: onPressed, child: Text(label), - borderSide: BorderSide(color: Theme.of(context).primaryColor, width: 2), + borderSide: BorderSide( + color: Theme.of(context).primaryColor, + width: 2, + ), shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(10))); } } diff --git a/lib/Component/bottom_navigation_bar.dart b/lib/Component/bottom_navigation_bar.dart index de9b17c..084bfc9 100644 --- a/lib/Component/bottom_navigation_bar.dart +++ b/lib/Component/bottom_navigation_bar.dart @@ -30,7 +30,7 @@ class _BottomNavigationState extends State { Home(), MyDonationView(), MyOrderView(), - ProfilePage() + ProfilePage(), ]; int _selectedIndex = 0; @@ -73,7 +73,10 @@ class _BottomNavigationState extends State { showModalBottomSheet( context: context, shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.vertical(top: Radius.circular(25))), + borderRadius: BorderRadius.vertical( + top: Radius.circular(25), + ), + ), builder: (BuildContext context) { return const AdminInfo(); }); diff --git a/lib/Component/cart_icon.dart b/lib/Component/cart_icon.dart index 50f873f..e8e9caa 100644 --- a/lib/Component/cart_icon.dart +++ b/lib/Component/cart_icon.dart @@ -6,6 +6,7 @@ import 'package:home_industry/Pages/Cart/bloc/bloc.dart'; class CartIcon extends StatelessWidget { const CartIcon({Key key}) : super(key: key); + @override Widget build(BuildContext context) { return IconButton( diff --git a/lib/Component/circular_image.dart b/lib/Component/circular_image.dart index 50c1263..643a93f 100644 --- a/lib/Component/circular_image.dart +++ b/lib/Component/circular_image.dart @@ -18,7 +18,10 @@ class CircularImage extends StatelessWidget { width: 120, decoration: BoxDecoration( shape: BoxShape.circle, - image: DecorationImage(image: imageProvider, fit: BoxFit.cover), + image: DecorationImage( + image: imageProvider, + fit: BoxFit.cover, + ), ), ), progressIndicatorBuilder: (context, url, downloadProgress) => @@ -37,12 +40,15 @@ class _ImagePersonPlaceholder extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - height: 120, - width: 120, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: Colors.grey[200], - image: const DecorationImage( - image: AssetImage('assets/img/person.png')))); + height: 120, + width: 120, + decoration: BoxDecoration( + shape: BoxShape.circle, + color: Colors.grey[200], + image: const DecorationImage( + image: AssetImage('assets/img/person.png'), + ), + ), + ); } } diff --git a/lib/Component/custom_circular.dart b/lib/Component/custom_circular.dart index 96b04cc..8f398d6 100644 --- a/lib/Component/custom_circular.dart +++ b/lib/Component/custom_circular.dart @@ -2,6 +2,7 @@ import 'package:flutter/material.dart'; class CustomCircularIndicator extends StatelessWidget { final double value; + const CustomCircularIndicator({Key key, this.value}) : super(key: key); @override diff --git a/lib/Component/custom_input_form.dart b/lib/Component/custom_input_form.dart index 06a3cba..80b7a7a 100644 --- a/lib/Component/custom_input_form.dart +++ b/lib/Component/custom_input_form.dart @@ -15,16 +15,16 @@ class CustomTextInputForm extends StatefulWidget { const CustomTextInputForm( {Key key, - @required this.label, - this.isPassword = false, - @required this.onSave, - this.isNumberOnly = false, - this.prefixText, - this.maxLength, - @required this.prefixIcon, - this.initialValue, - this.onSubmit, - this.textInputAction}) + @required this.label, + this.isPassword = false, + @required this.onSave, + this.isNumberOnly = false, + this.prefixText, + this.maxLength, + @required this.prefixIcon, + this.initialValue, + this.onSubmit, + this.textInputAction}) : assert(label != null), assert(onSave != null), assert(prefixIcon != null), @@ -47,9 +47,8 @@ class _CustomTextInputFormState extends State { Widget build(BuildContext context) { return TextFormField( initialValue: widget.initialValue, - decoration: - customInputDecorationForm(context, - widget.label, widget.prefixText, widget.prefixIcon), + decoration: customInputDecorationForm( + context, widget.label, widget.prefixText, widget.prefixIcon), obscureText: widget.isPassword && _obscureText, onFieldSubmitted: widget.onSubmit, onSaved: widget.onSave, @@ -74,7 +73,6 @@ class _CustomTextInputFormState extends State { InputDecoration customInputDecorationForm( BuildContext context, String label, String prefix, IconData prefixIcon) { - return InputDecoration( prefixText: prefix, labelText: label, @@ -82,13 +80,15 @@ class _CustomTextInputFormState extends State { prefixIcon, color: Theme.of(context).primaryColor, ), - suffixIcon: label == 'Password' ? GestureDetector( - onTap: togglePassword, - child: Icon( - Icons.remove_red_eye, - color: Theme.of(context).primaryColor, - ), - ) : null, + suffixIcon: label == 'Password' + ? GestureDetector( + onTap: togglePassword, + child: Icon( + Icons.remove_red_eye, + color: Theme.of(context).primaryColor, + ), + ) + : null, ); } } diff --git a/lib/Component/home_industry_logo.dart b/lib/Component/home_industry_logo.dart index d78ba8f..4f2b198 100644 --- a/lib/Component/home_industry_logo.dart +++ b/lib/Component/home_industry_logo.dart @@ -16,10 +16,15 @@ class HomeIndustryLogo extends StatelessWidget { height: height, alignment: Alignment.center, decoration: BoxDecoration( - borderRadius: BorderRadius.circular(5), color: Colors.black), + borderRadius: BorderRadius.circular(5), + color: Colors.black, + ), child: Text( 'Industri Pilar', - style: TextStyle(color: Colors.white, fontSize: fontSize), + style: TextStyle( + color: Colors.white, + fontSize: fontSize, + ), ), ); } diff --git a/lib/Component/image_dialog.dart b/lib/Component/image_dialog.dart index af933ec..1b05ee7 100644 --- a/lib/Component/image_dialog.dart +++ b/lib/Component/image_dialog.dart @@ -5,14 +5,16 @@ class ImageDialog extends StatelessWidget { final String urlImage; const ImageDialog({Key key, @required this.urlImage}) : super(key: key); + @override Widget build(BuildContext context) { return Dialog( child: ConstrainedBox( - constraints: BoxConstraints( - maxWidth: MediaQuery.of(context).size.width / 1.2, - maxHeight: MediaQuery.of(context).size.height / 1.6), - child: CachedImage(url: urlImage)), + constraints: BoxConstraints( + maxWidth: MediaQuery.of(context).size.width / 1.2, + maxHeight: MediaQuery.of(context).size.height / 1.6), + child: CachedImage(url: urlImage), + ), ); } } diff --git a/lib/Component/modal_bottom_admin_info.dart b/lib/Component/modal_bottom_admin_info.dart index 6dabb97..ae978ac 100644 --- a/lib/Component/modal_bottom_admin_info.dart +++ b/lib/Component/modal_bottom_admin_info.dart @@ -11,6 +11,7 @@ import 'custom_circular.dart'; class AdminInfo extends StatefulWidget { const AdminInfo({Key key, this.subject}) : super(key: key); final String subject; + @override _AdminInfoState createState() => _AdminInfoState(); } @@ -18,6 +19,7 @@ class AdminInfo extends StatefulWidget { class _AdminInfoState extends State { AdminInfoRepository _adminInfo; Future email; + @override void initState() { _adminInfo = AdminInfoRepository( @@ -36,69 +38,70 @@ class _AdminInfoState extends State { child: Icon(Icons.arrow_drop_down), ), Expanded( - child: FutureBuilder( - future: email, - builder: - (BuildContext context, AsyncSnapshot snapshot) { - if (snapshot.hasError) { - return const Center( - child: Text('Maaf ada kesalahan!'), - ); - } else if (snapshot.hasData) { - final url = 'mailto:${snapshot.data}' - '${widget.subject != null ? "?subject=" - "${widget.subject}" : ""}'; - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - Text( - snapshot.data, - style: Theme.of(context).textTheme.headline6, - ), - IconButton( - icon: const Icon( - Icons.content_copy, - color: Colors.black54, - ), - onPressed: () { - Clipboard.setData( - ClipboardData(text: snapshot.data)); - }), - ], - ), - FutureBuilder( - future: canLaunch(url), - builder: (BuildContext context, - AsyncSnapshot snapshot) { - if (snapshot.hasData && snapshot.data) { - return BorderBlueButton( - onPressed: () async { - await launch(url); - Navigator.of(context).pop(); - }, - label: 'Kirim email'); - } else if (snapshot.hasError || - (snapshot.hasData && !snapshot.data)) { - return const SizedBox( - height: 0, - width: 0, - ); - } - return const Center( - child: CustomCircularIndicator(), - ); - }, - ) - ], - ); - } + child: FutureBuilder( + future: email, + builder: + (BuildContext context, AsyncSnapshot snapshot) { + if (snapshot.hasError) { return const Center( - child: CustomCircularIndicator(), + child: Text('Maaf ada kesalahan!'), + ); + } else if (snapshot.hasData) { + final url = 'mailto:${snapshot.data}' + '${widget.subject != null ? "?subject=" + "${widget.subject}" : ""}'; + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + Text( + snapshot.data, + style: Theme.of(context).textTheme.headline6, + ), + IconButton( + icon: const Icon( + Icons.content_copy, + color: Colors.black54, + ), + onPressed: () { + Clipboard.setData( + ClipboardData(text: snapshot.data)); + }), + ], + ), + FutureBuilder( + future: canLaunch(url), + builder: (BuildContext context, + AsyncSnapshot snapshot) { + if (snapshot.hasData && snapshot.data) { + return BorderBlueButton( + onPressed: () async { + await launch(url); + Navigator.of(context).pop(); + }, + label: 'Kirim email'); + } else if (snapshot.hasError || + (snapshot.hasData && !snapshot.data)) { + return const SizedBox( + height: 0, + width: 0, + ); + } + return const Center( + child: CustomCircularIndicator(), + ); + }, + ) + ], ); - })) + } + return const Center( + child: CustomCircularIndicator(), + ); + }), + ) ], ), ); diff --git a/lib/Component/price_text_formatter.dart b/lib/Component/price_text_formatter.dart index 30a8a50..de93e19 100644 --- a/lib/Component/price_text_formatter.dart +++ b/lib/Component/price_text_formatter.dart @@ -9,13 +9,17 @@ class PriceTextFormatter extends StatelessWidget { final TextStyle style; final Key keyText; - PriceTextFormatter({Key key, @required this.price, this.unit, this.style, this.keyText}) + PriceTextFormatter( + {Key key, @required this.price, this.unit, this.style, this.keyText}) : assert(price != null), super(key: key); + @override Widget build(BuildContext context) { return Text( - unit != null ? formatter.format(double.parse(price)) + ' / ' + unit : formatter.format(double.parse(price)), + unit != null + ? formatter.format(double.parse(price)) + ' / ' + unit + : formatter.format(double.parse(price)), key: keyText, overflow: TextOverflow.ellipsis, maxLines: 1, diff --git a/lib/Component/product_image.dart b/lib/Component/product_image.dart index a4243c9..6d096f5 100644 --- a/lib/Component/product_image.dart +++ b/lib/Component/product_image.dart @@ -38,10 +38,13 @@ class _ImageProductPlaceholder extends StatelessWidget { @override Widget build(BuildContext context) { return Container( - decoration: const BoxDecoration( - borderRadius: BorderRadius.all(Radius.circular(8)), - image: DecorationImage( - fit: BoxFit.cover, - image: AssetImage('assets/img/placeholder.png')))); + decoration: const BoxDecoration( + borderRadius: BorderRadius.all(Radius.circular(8)), + image: DecorationImage( + fit: BoxFit.cover, + image: AssetImage('assets/img/placeholder.png'), + ), + ), + ); } } diff --git a/lib/Component/router.dart b/lib/Component/router.dart index 9d1d0e8..027417c 100644 --- a/lib/Component/router.dart +++ b/lib/Component/router.dart @@ -67,33 +67,34 @@ class Router { case detailOrder: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => MultiBlocProvider( - providers: [ - BlocProvider( - create: (context) => DetailOrderBloc( - args['transactionRepository'], args['myOrderBloc']) - ..add(FetchOrderDetail(args['transaction'])), - ), - BlocProvider.value(value: args['myOrderBloc']) - ], - child: const MyDetailOrder(), - )); + builder: (context) => MultiBlocProvider( + providers: [ + BlocProvider( + create: (context) => DetailOrderBloc( + args['transactionRepository'], args['myOrderBloc']) + ..add(FetchOrderDetail(args['transaction'])), + ), + BlocProvider.value(value: args['myOrderBloc']) + ], + child: const MyDetailOrder(), + ), + ); case paymentProductPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => BlocProvider( - create: (context) { - final dio = - RepositoryProvider.of(context) - .dio; - return PaymentBloc( - TransactionRepository(dio), - PaymentRepository(dio), - BlocProvider.of(context)) - ..add(FetchPayment(args['transaction'])); - }, - child: const ProductPaymentView(), - )); + builder: (context) => BlocProvider( + create: (context) { + final dio = + RepositoryProvider.of(context).dio; + return PaymentBloc( + TransactionRepository(dio), + PaymentRepository(dio), + BlocProvider.of(context)) + ..add(FetchPayment(args['transaction'])); + }, + child: const ProductPaymentView(), + ), + ); case summaryPage: return MaterialPageRoute( builder: (context) => BlocProvider( @@ -119,86 +120,89 @@ class Router { case detailProductPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => DetailProduct(product: args['product'])); + builder: (context) => DetailProduct(product: args['product']), + ); case subCategoryPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => MultiRepositoryProvider( - providers: [ - RepositoryProvider.value( - value: args['categoriesSubRepo']), - RepositoryProvider.value( - value: args['productRepo'], - ) - ], - child: SubCategoryPageView( - category: args['category'], - ))); + builder: (context) => MultiRepositoryProvider( + providers: [ + RepositoryProvider.value( + value: args['categoriesSubRepo']), + RepositoryProvider.value( + value: args['productRepo'], + ) + ], + child: SubCategoryPageView( + category: args['category'], + ), + ), + ); case products: final Map args = settings.arguments; return MaterialPageRoute( builder: (context) => RepositoryProvider.value( - value: args['productRepo'], - child: ProductsPageView( - subCategory: args['subCategory'], - )), + value: args['productRepo'], + child: ProductsPageView( + subCategory: args['subCategory'], + ), + ), ); case programs: return MaterialPageRoute( - builder: (context) => RepositoryProvider.value( + builder: (context) => RepositoryProvider.value( value: ProgramRepository( - dio: - RepositoryProvider.of( - context) + dio: RepositoryProvider.of(context) .dio), - child: const Programs() - )); + child: const Programs()), + ); case detailProgramPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => RepositoryProvider.value( - value: ProgramRepository( - dio: - RepositoryProvider.of( - context) - .dio), - child: DetailProgram( - program: args['program'], - ), - )); - + builder: (context) => RepositoryProvider.value( + value: ProgramRepository( + dio: RepositoryProvider.of(context) + .dio), + child: DetailProgram( + program: args['program'], + ), + ), + ); case donationPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => Donasi( - program: args['program'], - )); + builder: (context) => Donasi( + program: args['program'], + ), + ); case goodsDonationPage: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => DonasiBarang( - program: args['program'], - )); + builder: (context) => DonasiBarang( + program: args['program'], + ), + ); case donationReUpload: final Map args = settings.arguments; return MaterialPageRoute( - builder: (context) => DonationReUpload( - donation: args['donation'], - )); + builder: (context) => DonationReUpload( + donation: args['donation'], + ), + ); default: return MaterialPageRoute( - builder: (_) => Scaffold( - body: Center( - child: Text('No route defined for ${settings.name}')), - )); + builder: (_) => Scaffold( + body: Center(child: Text('No route defined for ${settings.name}')), + ), + ); } } } diff --git a/lib/Component/theme.dart b/lib/Component/theme.dart index 77a3441..fc8af27 100644 --- a/lib/Component/theme.dart +++ b/lib/Component/theme.dart @@ -27,7 +27,10 @@ class AppTheme { borderSide: BorderSide(color: Color(0xff4E7890)), ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Color(0xff4E7890), width: 2.4), + borderSide: BorderSide( + color: Color(0xff4E7890), + width: 2.4, + ), ), ), ); diff --git a/lib/Pages/Bank/bank_account.dart b/lib/Pages/Bank/bank_account.dart index fd30d40..8d77e7f 100644 --- a/lib/Pages/Bank/bank_account.dart +++ b/lib/Pages/Bank/bank_account.dart @@ -11,6 +11,7 @@ import 'package:provider/provider.dart'; class _BankAccount extends StatefulWidget { const _BankAccount({Key key}) : super(key: key); + @override _BankAccountState createState() => _BankAccountState(); } @@ -30,9 +31,11 @@ class _BankAccountState extends State<_BankAccount> { @override void initState() { - _bankBlocBloc = BankBloc(BankRepository( - RepositoryProvider.of(context).dio)) - ..add(const FetchBank()); + _bankBlocBloc = BankBloc( + BankRepository( + RepositoryProvider.of(context).dio, + ), + )..add(const FetchBank()); _scrollController = ScrollController()..addListener(onScroll); super.initState(); } @@ -89,6 +92,7 @@ class _BankAccountState extends State<_BankAccount> { class _ListItemBank extends StatelessWidget { final Bank bank; + const _ListItemBank({ Key key, @required this.bank, @@ -99,12 +103,16 @@ class _ListItemBank extends StatelessWidget { Widget build(BuildContext context) { return Container( decoration: BoxDecoration( - border: Border.all(color: Theme.of(context).primaryColor)), + border: Border.all(color: Theme.of(context).primaryColor), + ), margin: const EdgeInsets.symmetric(vertical: 5), child: Material( type: MaterialType.card, shape: const RoundedRectangleBorder( - borderRadius: BorderRadius.all(Radius.circular(4.0))), + borderRadius: BorderRadius.all( + Radius.circular(4.0), + ), + ), elevation: 1, child: Center( child: ListTile( @@ -131,6 +139,7 @@ class Rekening extends StatefulWidget { final String previousBankDestinationId; const Rekening({Key key, this.previousBankDestinationId}) : super(key: key); + @override _RekeningState createState() => _RekeningState(); } @@ -176,36 +185,42 @@ class _RekeningState extends State { return const Center( child: CustomCircularIndicator(), ); - }, - ) + }) : Text( 'Silahkan pilih bank tujuan', style: Theme.of(context).textTheme.headline6, ) : const _SelectedBankWidget(), OutlineButton.icon( - onPressed: () { - FocusScope.of(context).unfocus(); - final selectedBank = context.read(); - showModalBottomSheet( - context: context, - builder: (BuildContext context) { - return ChangeNotifierProvider.value( - value: selectedBank, - child: const FractionallySizedBox( - heightFactor: 0.5, child: _BankAccount()), - ); - }, - isScrollControlled: true, - shape: const RoundedRectangleBorder( - borderRadius: - BorderRadius.vertical(top: Radius.circular(25))), - ); - }, - borderSide: - BorderSide(color: Theme.of(context).primaryColor, width: 2), - icon: const Icon(Icons.payment), - label: const Text('Pilih bank tujuan')) + onPressed: () { + FocusScope.of(context).unfocus(); + final selectedBank = context.read(); + showModalBottomSheet( + context: context, + builder: (BuildContext context) { + return ChangeNotifierProvider.value( + value: selectedBank, + child: const FractionallySizedBox( + heightFactor: 0.5, + child: _BankAccount(), + ), + ); + }, + isScrollControlled: true, + shape: const RoundedRectangleBorder( + borderRadius: BorderRadius.vertical( + top: Radius.circular(25), + ), + ), + ); + }, + borderSide: BorderSide( + color: Theme.of(context).primaryColor, + width: 2, + ), + icon: const Icon(Icons.payment), + label: const Text('Pilih bank tujuan'), + ) ], ); } @@ -227,18 +242,18 @@ class _SelectedBankWidget extends StatelessWidget { '${context.watch().selectedBank.bankName}: ', style: const TextStyle(fontSize: 18), ), - Text(context.watch().selectedBank.bankAccountNumber, - style: Theme.of(context) - .textTheme - .headline6 - .copyWith(fontSize: 18)), + Text( + context.watch().selectedBank.bankAccountNumber, + style: + Theme.of(context).textTheme.headline6.copyWith(fontSize: 18), + ), ], ), Text( - 'Atas nama: ' - '${context.watch().selectedBank.bankAccountName}', - style: - Theme.of(context).textTheme.headline6.copyWith(fontSize: 18)), + 'Atas nama: ' + '${context.watch().selectedBank.bankAccountName}', + style: Theme.of(context).textTheme.headline6.copyWith(fontSize: 18), + ), ], ); } diff --git a/lib/Pages/Bank/bloc/bank_bloc_bloc.dart b/lib/Pages/Bank/bloc/bank_bloc_bloc.dart index 5f357f9..ed6b773 100644 --- a/lib/Pages/Bank/bloc/bank_bloc_bloc.dart +++ b/lib/Pages/Bank/bloc/bank_bloc_bloc.dart @@ -10,6 +10,7 @@ class BankBloc extends Bloc { final BankRepository _bankRepository; BankBloc(this._bankRepository); + @override BankBlocState get initialState => const InitialBankBlocState(); diff --git a/lib/Pages/Bank/bloc/bank_bloc_event.dart b/lib/Pages/Bank/bloc/bank_bloc_event.dart index 9838f4f..c5c3c9a 100644 --- a/lib/Pages/Bank/bloc/bank_bloc_event.dart +++ b/lib/Pages/Bank/bloc/bank_bloc_event.dart @@ -7,5 +7,6 @@ abstract class BankBlocEvent extends Equatable { class FetchBank extends BankBlocEvent { @override List get props => []; + const FetchBank(); } diff --git a/lib/Pages/Bank/bloc/bank_bloc_state.dart b/lib/Pages/Bank/bloc/bank_bloc_state.dart index 3b4a7fc..db611d7 100644 --- a/lib/Pages/Bank/bloc/bank_bloc_state.dart +++ b/lib/Pages/Bank/bloc/bank_bloc_state.dart @@ -4,6 +4,7 @@ import 'package:home_industry/Pages/Bank/model/bank.dart'; abstract class BankBlocState extends Equatable { const BankBlocState(this.page); + final int page; } @@ -17,9 +18,11 @@ class InitialBankBlocState extends BankBlocState { class ListBankLoaded extends BankBlocState { final List listBank; final bool hasReachedMax; + const ListBankLoaded( {@required this.listBank, @required this.hasReachedMax, @required page}) : super(page); + @override List get props => [listBank, hasReachedMax, page]; } diff --git a/lib/Pages/Cart/bloc/cart_bloc.dart b/lib/Pages/Cart/bloc/cart_bloc.dart index 21395d7..9c3da1f 100644 --- a/lib/Pages/Cart/bloc/cart_bloc.dart +++ b/lib/Pages/Cart/bloc/cart_bloc.dart @@ -14,6 +14,7 @@ class CartBloc extends Bloc { final AuthenticationBloc authenticationBloc; Map carts = {}; StreamSubscription authSubscription; + CartBloc({@required this.cardRepository, @required this.authenticationBloc}) : assert(cardRepository != null), assert(authenticationBloc != null) { diff --git a/lib/Pages/Cart/bloc/cart_event.dart b/lib/Pages/Cart/bloc/cart_event.dart index d647225..f0b2f3c 100644 --- a/lib/Pages/Cart/bloc/cart_event.dart +++ b/lib/Pages/Cart/bloc/cart_event.dart @@ -7,7 +7,9 @@ abstract class CartEvent extends Equatable { class AddCartItem extends CartEvent { final int quantity; final String idProduct; + const AddCartItem(this.quantity, this.idProduct); + @override List get props => [quantity, idProduct]; } @@ -17,6 +19,7 @@ class UpdateCartItem extends CartEvent { final String idProduct; const UpdateCartItem(this.quantity, this.idProduct); + @override List get props => [quantity, idProduct]; } @@ -24,17 +27,20 @@ class UpdateCartItem extends CartEvent { class FetchCart extends CartEvent { @override List get props => []; + const FetchCart(); } class RemoveCart extends CartEvent { @override List get props => []; + const RemoveCart(); } class RefreshCart extends CartEvent { @override List get props => []; + const RefreshCart(); } diff --git a/lib/Pages/Cart/bloc/cart_state.dart b/lib/Pages/Cart/bloc/cart_state.dart index 9d5d797..a16e56c 100644 --- a/lib/Pages/Cart/bloc/cart_state.dart +++ b/lib/Pages/Cart/bloc/cart_state.dart @@ -8,18 +8,21 @@ abstract class CartState extends Equatable { class InitialCartState extends CartState { @override List get props => []; + const InitialCartState(); } class CartAdded extends CartState { @override List get props => []; + const CartAdded(); } class CartAddedError extends CartState { @override List get props => []; + const CartAddedError(); } @@ -28,8 +31,10 @@ class CartLoaded extends CartState { final String subTotal; final int count; final int itemQuantityTotal; + const CartLoaded(this.cartItems, this.subTotal, this.itemQuantityTotal) : count = cartItems.length; + @override List get props => [cartItems, subTotal, count, itemQuantityTotal]; } @@ -37,5 +42,6 @@ class CartLoaded extends CartState { class CartLoadedError extends CartState { @override List get props => []; + const CartLoadedError(); } diff --git a/lib/Pages/Cart/cart.dart b/lib/Pages/Cart/cart.dart index af2a1e5..6cd7314 100644 --- a/lib/Pages/Cart/cart.dart +++ b/lib/Pages/Cart/cart.dart @@ -27,10 +27,12 @@ class CartView extends StatelessWidget { if (state is CartLoaded) { return Container( decoration: const BoxDecoration( - color: Colors.black12, - borderRadius: BorderRadius.only( - topLeft: Radius.circular(10), - topRight: Radius.circular(10))), + color: Colors.black12, + borderRadius: BorderRadius.only( + topLeft: Radius.circular(10), + topRight: Radius.circular(10), + ), + ), width: double.infinity, height: MediaQuery.of(context).size.height / 14, padding: const EdgeInsets.symmetric(horizontal: 10), @@ -45,7 +47,9 @@ class CartView extends StatelessWidget { const Text( 'Subtotal: ', style: TextStyle( - fontWeight: FontWeight.w600, fontSize: 15), + fontWeight: FontWeight.w600, + fontSize: 15, + ), ), AnimatedSwitcher( duration: const Duration(milliseconds: 400), @@ -53,24 +57,26 @@ class CartView extends StatelessWidget { key: ValueKey(state.subTotal), price: state.subTotal, style: TextStyle( - fontWeight: FontWeight.w900, - fontSize: 18, - color: Theme.of(context).primaryColor), + fontWeight: FontWeight.w900, + fontSize: 18, + color: Theme.of(context).primaryColor, + ), ), ) ], ), ), Expanded( - flex: 2, - child: BlueButton( - onPressed: state.count == 0 - ? null - : () { - Navigator.of(context) - .pushNamed(Router.summaryPage); - }, - label: 'LANJUT')) + flex: 2, + child: BlueButton( + onPressed: state.count == 0 + ? null + : () { + Navigator.of(context) + .pushNamed(Router.summaryPage); + }, + label: 'LANJUT'), + ) ], ), ); @@ -79,28 +85,27 @@ class CartView extends StatelessWidget { }, ), body: BlocBuilder( - condition: (previousState, state) => - state is CartLoaded || - state is CartLoadedError || - state is InitialCartState, - builder: (BuildContext context, CartState state) { - if (state is InitialCartState) { - return const Center( - child: CustomCircularIndicator(), - ); - } else if (state is CartLoaded) { - if (state.count == 0) { + condition: (previousState, state) => + state is CartLoaded || + state is CartLoadedError || + state is InitialCartState, + builder: (BuildContext context, CartState state) { + if (state is InitialCartState) { return const Center( - child: Text('Keranjang kosong yuk belanja!'), + child: CustomCircularIndicator(), ); + } else if (state is CartLoaded) { + if (state.count == 0) { + return const Center( + child: Text('Keranjang kosong yuk belanja!'), + ); + } + return _KeranjangBody(items: state.cartItems); } - return _KeranjangBody(items: state.cartItems); - } - return const Center( - child: Text('Keranjang error, mohon coba lagi'), - ); - }, - ), + return const Center( + child: Text('Keranjang error, mohon coba lagi'), + ); + }), ); } } @@ -116,18 +121,19 @@ class _KeranjangBody extends StatelessWidget { return AnimatedSwitcher( duration: const Duration(milliseconds: 420), child: ListView.builder( - key: ValueKey(items.length), - itemExtent: 130, - padding: EdgeInsets.only( - left: 5, - right: 5, - top: 5, - bottom: MediaQuery.of(context).size.height / 13), - itemBuilder: (context, index) { - return _ItemBody(key: Key(items[index].id), item: items[index]); - }, - itemCount: items.length, - physics: const BouncingScrollPhysics()), + key: ValueKey(items.length), + itemExtent: 130, + padding: EdgeInsets.only( + left: 5, + right: 5, + top: 5, + bottom: MediaQuery.of(context).size.height / 13), + itemBuilder: (context, index) { + return _ItemBody(key: Key(items[index].id), item: items[index]); + }, + itemCount: items.length, + physics: const BouncingScrollPhysics(), + ), ); } } @@ -144,18 +150,21 @@ class _ItemBody extends StatelessWidget { AspectRatio( aspectRatio: 1, child: Hero( - tag: item.product.id, - child: CachedImage(url: item.product.image)), + tag: item.product.id, + child: CachedImage(url: item.product.image), + ), ), Expanded( child: Padding( padding: const EdgeInsets.fromLTRB(20, 8, 15, 8), - child: ChangeNotifierProvider - (create: (_) => CounterItem( + child: ChangeNotifierProvider( + create: (_) => CounterItem( total: item.quantity, minimum: 0, - maksimum: item.product.stock), - child: _CartDescription(cartItem: item)), + maksimum: item.product.stock, + ), + child: _CartDescription(cartItem: item), + ), ), ), ])); @@ -178,55 +187,50 @@ class _CartDescription extends StatelessWidget { children: [ Expanded( flex: 5, - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text( - '${cartItem.product.name}', - maxLines: 1, - overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontSize: 18, - fontWeight: FontWeight.bold, - ), - ), - PriceTextFormatter( - price: '${cartItem.product.price}', - unit: '${cartItem.product.unit}', + child: + Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + '${cartItem.product.name}', + maxLines: 1, + overflow: TextOverflow.ellipsis, + style: const TextStyle( + fontSize: 18, + fontWeight: FontWeight.bold, ), - ], - ), - Column( - children: [ + ), + PriceTextFormatter( + price: '${cartItem.product.price}', + unit: '${cartItem.product.unit}', + ), + ], + ), + Column(children: [ Consumer( - builder: (_, counter, __) => - GestureDetector( - onTap: () { - context - .read() - .toZero(); - updateCartToZero(context, counter); - }, - child: Container( - width: 35, - height: 35, - decoration: BoxDecoration( - color: Theme.of(context).primaryColor, - shape: BoxShape.circle, - ), - margin: const EdgeInsets.symmetric(vertical: 3.0), - child: const Icon(Icons.delete_forever, - color: Colors.white,), - ), + builder: (_, counter, __) => GestureDetector( + onTap: () { + context.read().toZero(); + updateCartToZero(context, counter); + }, + child: Container( + width: 35, + height: 35, + decoration: BoxDecoration( + color: Theme.of(context).primaryColor, + shape: BoxShape.circle, + ), + margin: const EdgeInsets.symmetric(vertical: 3.0), + child: const Icon( + Icons.delete_forever, + color: Colors.white, ), ), - ], + ), ), - ], - ), + ]), + ]), ), Expanded( flex: 4, @@ -243,18 +247,23 @@ class _CartDescription extends StatelessWidget { child: RichText( key: ValueKey(cartItem.quantity), text: TextSpan( - text: 'Jumlah: ', - style: - const TextStyle(color: Colors.black, - fontSize: 15), - children: [ - TextSpan( - text: '${cartItem.quantity} ${cartItem.product.unit}', - style: TextStyle( - color: Theme.of(context).primaryColor, - fontSize: 16, - fontWeight: FontWeight.w600)) - ]), + text: 'Jumlah: ', + style: const TextStyle( + color: Colors.black, + fontSize: 15, + ), + children: [ + TextSpan( + text: + '${cartItem.quantity} ${cartItem.product.unit}', + style: TextStyle( + color: Theme.of(context).primaryColor, + fontSize: 16, + fontWeight: FontWeight.w600, + ), + ) + ], + ), ), ), AnimatedSwitcher( @@ -262,8 +271,7 @@ class _CartDescription extends StatelessWidget { child: PriceTextFormatter( key: ValueKey(cartItem.quantity), price: - '${double.parse(cartItem.product.price) - * cartItem.quantity}', + '${double.parse(cartItem.product.price) * cartItem.quantity}', style: TextStyle( fontSize: 16, fontWeight: FontWeight.w800, @@ -275,34 +283,35 @@ class _CartDescription extends StatelessWidget { ), ), Column( - crossAxisAlignment: CrossAxisAlignment.end, - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Flexible( - child: RaisedButton( - onPressed: () { - showModalBottomSheet( - shape: const RoundedRectangleBorder( + crossAxisAlignment: CrossAxisAlignment.end, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Flexible( + child: RaisedButton( + onPressed: () { + showModalBottomSheet( + shape: const RoundedRectangleBorder( borderRadius: BorderRadius.vertical( - top: Radius.circular(25))), - context: context, - builder: (BuildContext context) { - return _ModalCartItem(cartItem: cartItem); - }); - }, - color: Theme.of(context).primaryColor, - child: const Text( - 'Ubah', - textAlign: TextAlign.right, - style: TextStyle( - color: Colors.white, - fontWeight: FontWeight.w700, + top: Radius.circular(25), + ), + ), + context: context, + builder: (BuildContext context) { + return _ModalCartItem(cartItem: cartItem); + }); + }, + color: Theme.of(context).primaryColor, + child: const Text( + 'Ubah', + textAlign: TextAlign.right, + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.w700, + ), ), ), ), - ), - ], - ) + ]) ], ), ), @@ -326,165 +335,171 @@ class _ModalCartItem extends StatelessWidget { Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => CounterItem( - total: cartItem.quantity, - minimum: 0, - maksimum: cartItem.product.stock), - child: Builder( - builder: (BuildContext context) { - return Padding( - padding: const EdgeInsets.only(bottom: 10), - child: Column( - mainAxisSize: MainAxisSize.min, - children: [ - const Center( - child: Icon(Icons.arrow_drop_down), - ), - Expanded( - flex: 7, child: CachedImage(url: cartItem.product.image)), - Expanded( - flex: 9, - child: Padding( - padding: const EdgeInsets.symmetric(horizontal: 10), - child: Column( - mainAxisSize: MainAxisSize.min, - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Flexible( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - mainAxisAlignment: MainAxisAlignment.spaceEvenly, - children: [ - Text( - cartItem.product.name, - maxLines: 2, - overflow: TextOverflow.ellipsis, - style: const TextStyle( - fontSize: 22, fontWeight: FontWeight.w800), + total: cartItem.quantity, + minimum: 0, + maksimum: cartItem.product.stock, + ), + child: Builder(builder: (BuildContext context) { + return Padding( + padding: const EdgeInsets.only(bottom: 10), + child: Column( + mainAxisSize: MainAxisSize.min, + children: [ + const Center( + child: Icon(Icons.arrow_drop_down), + ), + Expanded( + flex: 7, + child: CachedImage(url: cartItem.product.image), + ), + Expanded( + flex: 9, + child: Padding( + padding: const EdgeInsets.symmetric(horizontal: 10), + child: Column( + mainAxisSize: MainAxisSize.min, + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Flexible( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + mainAxisAlignment: MainAxisAlignment.spaceEvenly, + children: [ + Text( + cartItem.product.name, + maxLines: 2, + overflow: TextOverflow.ellipsis, + style: const TextStyle( + fontSize: 22, + fontWeight: FontWeight.w800, ), - Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Expanded( - flex: 6, - child: Column( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - PriceTextFormatter( - price: cartItem.product.price, - unit: cartItem.product.unit, - style: TextStyle( - color: Theme.of(context) - .primaryColor, - fontSize: 20), + ), + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Expanded( + flex: 6, + child: Column( + crossAxisAlignment: + CrossAxisAlignment.start, + children: [ + PriceTextFormatter( + price: cartItem.product.price, + unit: cartItem.product.unit, + style: TextStyle( + color: Theme.of(context).primaryColor, + fontSize: 20, ), - Text( - 'Stok: ' - '${cartItem.product.stock} ${cartItem.product.unit}', - style: const TextStyle(fontSize: 17), - ) - ], - ), + ), + Text( + 'Stok: ' + '${cartItem.product.stock} ${cartItem.product.unit}', + style: const TextStyle(fontSize: 17), + ) + ], ), - Expanded( - flex: 5, - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceAround, - children: [ - Ink( - width: 30, - height: 30, - decoration: ShapeDecoration( - color: Theme.of(context) - .primaryColor, - shape: const CircleBorder(), - ), - child: IconButton( - icon: const Icon(Icons.remove), - onPressed: () { - context - .read() - .decrement(); - }, - color: Colors.white, - iconSize: 15)), - Consumer( - builder: (_, counter, __) => Text( - '${counter.total}', - style: - const TextStyle(fontSize: 22), - ), + ), + Expanded( + flex: 5, + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceAround, + children: [ + Ink( + width: 30, + height: 30, + decoration: ShapeDecoration( + color: Theme.of(context).primaryColor, + shape: const CircleBorder(), ), - Ink( - width: 30, - height: 30, - decoration: ShapeDecoration( - color: Theme.of(context) - .primaryColor, - shape: const CircleBorder(), - ), - child: IconButton( - icon: const Icon(Icons.add), - onPressed: () { - context - .read() - .increment(); - }, - color: Colors.white, - iconSize: 15, - )), - ], - ), - ) - ], - ) - ], - ), + child: IconButton( + icon: const Icon(Icons.remove), + onPressed: () { + context + .read() + .decrement(); + }, + color: Colors.white, + iconSize: 15), + ), + Consumer( + builder: (_, counter, __) => Text( + '${counter.total}', + style: const TextStyle(fontSize: 22), + ), + ), + Ink( + width: 30, + height: 30, + decoration: ShapeDecoration( + color: Theme.of(context).primaryColor, + shape: const CircleBorder(), + ), + child: IconButton( + icon: const Icon(Icons.add), + onPressed: () { + context + .read() + .increment(); + }, + color: Colors.white, + iconSize: 15, + ), + ), + ], + ), + ) + ], + ) + ], ), - ], - ), + ), + ], ), ), - Padding( - padding: const EdgeInsets.symmetric(horizontal: 5), - child: ButtonTheme( - minWidth: double.infinity, - height: 45, - child: Consumer( - builder: (_, counter, __) => AnimatedSwitcher( - duration: const Duration(milliseconds: 300), - child: counter.total == 0 - ? OutlineButton( - onPressed: () { - updateCart(context, counter); - }, - child: const Text( - 'HAPUS', - style: TextStyle(color: Colors.red), - ), - borderSide: const BorderSide( - color: Colors.red, width: 2), - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(10))) - : BlueButton( - onPressed: () { - updateCart(context, counter); - }, - label: 'UBAH'), - ), + ), + Padding( + padding: const EdgeInsets.symmetric(horizontal: 5), + child: ButtonTheme( + minWidth: double.infinity, + height: 45, + child: Consumer( + builder: (_, counter, __) => AnimatedSwitcher( + duration: const Duration(milliseconds: 300), + child: counter.total == 0 + ? OutlineButton( + onPressed: () { + updateCart(context, counter); + }, + child: const Text( + 'HAPUS', + style: TextStyle(color: Colors.red), + ), + borderSide: const BorderSide( + color: Colors.red, + width: 2, + ), + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(10), + ), + ) + : BlueButton( + onPressed: () { + updateCart(context, counter); + }, + label: 'UBAH'), ), ), - ) - ], - ), - ); - }, - ), + ), + ) + ], + ), + ); + }), ); } + void updateCart(BuildContext context, CounterItem counter) { BlocProvider.of(context) .add(UpdateCartItem(counter.total, cartItem.product.id)); diff --git a/lib/Pages/Cart/model/cart_item.dart b/lib/Pages/Cart/model/cart_item.dart index e9a9405..e87442b 100644 --- a/lib/Pages/Cart/model/cart_item.dart +++ b/lib/Pages/Cart/model/cart_item.dart @@ -11,6 +11,7 @@ class CartItem extends Equatable { final Product product; const CartItem(this.id, this.quantity, this.product); + @override List get props => [id, quantity, product]; diff --git a/lib/Pages/Cart/repositories/cart_repository.dart b/lib/Pages/Cart/repositories/cart_repository.dart index e22792c..4562edc 100644 --- a/lib/Pages/Cart/repositories/cart_repository.dart +++ b/lib/Pages/Cart/repositories/cart_repository.dart @@ -12,8 +12,10 @@ class CartRepository { assert(dio != null); Future addCartItem(String idProduct, int quantity) async { - final response = await _dio - .post(updateCart, data: {'product': idProduct, 'quantity': quantity}); + final response = await _dio.post(updateCart, data: { + 'product': idProduct, + 'quantity': quantity, + }); if (response.statusCode != 204) { throw RequestApiError(response.data.toString()); } diff --git a/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart b/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart index 13da4be..b4043fa 100644 --- a/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart +++ b/lib/Pages/Donation/bloc_goods_donation/goods_donation_bloc.dart @@ -5,14 +5,16 @@ import 'package:dio/dio.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; + import 'goods_donation_event.dart'; import 'goods_donation_state.dart'; class GoodsDonationBloc extends Bloc { final DonationRepository _donationRepository; + GoodsDonationBloc( - this._donationRepository, - this._changeBottomNavigationBarBloc); + this._donationRepository, this._changeBottomNavigationBarBloc); + final ChangeBottomNavigationBarBloc _changeBottomNavigationBarBloc; @override diff --git a/lib/Pages/Donation/bloc_goods_donation/goods_donation_event.dart b/lib/Pages/Donation/bloc_goods_donation/goods_donation_event.dart index 8c845ee..14c87c3 100644 --- a/lib/Pages/Donation/bloc_goods_donation/goods_donation_event.dart +++ b/lib/Pages/Donation/bloc_goods_donation/goods_donation_event.dart @@ -15,12 +15,12 @@ class GoodsDonationButtonClicked extends GoodsDonationEvent { const GoodsDonationButtonClicked( {@required this.program, - @required this.quantity, - @required this.description, - @required this.methodOfDelivery, - @required this.isFinal, - this.address}); + @required this.quantity, + @required this.description, + @required this.methodOfDelivery, + @required this.isFinal, + this.address}); + @override - List get props => - [program, quantity, description, address]; -} \ No newline at end of file + List get props => [program, quantity, description, address]; +} diff --git a/lib/Pages/Donation/bloc_goods_donation/goods_donation_state.dart b/lib/Pages/Donation/bloc_goods_donation/goods_donation_state.dart index 2f3f661..46f0a5b 100644 --- a/lib/Pages/Donation/bloc_goods_donation/goods_donation_state.dart +++ b/lib/Pages/Donation/bloc_goods_donation/goods_donation_state.dart @@ -7,23 +7,27 @@ abstract class GoodsDonationState extends Equatable { class InitialGoodsDonationState extends GoodsDonationState { @override List get props => []; + const InitialGoodsDonationState(); } class SendingGoodsDonationLoading extends GoodsDonationState { @override List get props => []; + const SendingGoodsDonationLoading(); } class SendingGoodsDonationSuccess extends GoodsDonationState { @override List get props => []; + const SendingGoodsDonationSuccess(); } class SendingGoodsDonationError extends GoodsDonationState { @override List get props => []; + const SendingGoodsDonationError(); -} \ No newline at end of file +} diff --git a/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart b/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart index fb2e70c..dbd75e8 100644 --- a/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart +++ b/lib/Pages/Donation/bloc_money_donation/money_donation_bloc.dart @@ -4,14 +4,16 @@ import 'package:bloc/bloc.dart'; import 'package:home_industry/Pages/Donation/repositories/donation_repository.dart'; import 'package:home_industry/State/ChangeBottomNavigationBar/bloc.dart'; import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; + import 'money_donation_event.dart'; import 'money_donation_state.dart'; class MoneyDonationBloc extends Bloc { final DonationRepository _donationRepository; + MoneyDonationBloc( - this._donationRepository, - this._changeBottomNavigationBarBloc); + this._donationRepository, this._changeBottomNavigationBarBloc); + final ChangeBottomNavigationBarBloc _changeBottomNavigationBarBloc; @override diff --git a/lib/Pages/Donation/bloc_money_donation/money_donation_event.dart b/lib/Pages/Donation/bloc_money_donation/money_donation_event.dart index 0de755c..85fc4ad 100644 --- a/lib/Pages/Donation/bloc_money_donation/money_donation_event.dart +++ b/lib/Pages/Donation/bloc_money_donation/money_donation_event.dart @@ -22,6 +22,7 @@ class ButtonDonationClicked extends DonationEvent { @required this.bankName, @required this.accountName, @required this.bankIdDestination}); + @override List get props => [program, amount, image, bankName, accountName, bankIdDestination]; diff --git a/lib/Pages/Donation/bloc_money_donation/money_donation_state.dart b/lib/Pages/Donation/bloc_money_donation/money_donation_state.dart index c44a64f..e448e74 100644 --- a/lib/Pages/Donation/bloc_money_donation/money_donation_state.dart +++ b/lib/Pages/Donation/bloc_money_donation/money_donation_state.dart @@ -7,23 +7,27 @@ abstract class MoneyDonationState extends Equatable { class InitialMoneyDonationState extends MoneyDonationState { @override List get props => []; + const InitialMoneyDonationState(); } class UploadProofSuccess extends MoneyDonationState { @override List get props => []; + const UploadProofSuccess(); } class UploadProofLoading extends MoneyDonationState { @override List get props => []; + const UploadProofLoading(); } class UploadProofError extends MoneyDonationState { @override List get props => []; + const UploadProofError(); } diff --git a/lib/Pages/Donation/donation_dialog.dart b/lib/Pages/Donation/donation_dialog.dart index 55a4647..346a1e2 100644 --- a/lib/Pages/Donation/donation_dialog.dart +++ b/lib/Pages/Donation/donation_dialog.dart @@ -4,6 +4,7 @@ import 'package:home_industry/Pages/Program/model/program.dart'; class ChooseDonationDialog extends StatelessWidget { final Program program; + const ChooseDonationDialog({Key key, @required this.program}) : assert(program != null), super(key: key); @@ -16,25 +17,32 @@ class ChooseDonationDialog extends StatelessWidget { height: 190, color: const Color.fromRGBO(250, 250, 250, 1), child: Padding( - padding: const EdgeInsets.only(top: 10, right: 20), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Padding( - padding: const EdgeInsets.only(left: 10.0, bottom: 6.0), - child: Text('Pilihan Donasi', - style: Theme.of(context).textTheme.bodyText1.copyWith( - fontSize: 18, - fontWeight: FontWeight.bold, - letterSpacing: 1.2)), + padding: const EdgeInsets.only( + top: 10, + right: 20, + ), + child: + Column(crossAxisAlignment: CrossAxisAlignment.start, children: [ + Padding( + padding: const EdgeInsets.only( + left: 10.0, + bottom: 6.0, ), - const Divider( - color: Colors.black, - height: 0.2, + child: Text( + 'Pilihan Donasi', + style: Theme.of(context).textTheme.bodyText1.copyWith( + fontSize: 18, + fontWeight: FontWeight.bold, + letterSpacing: 1.2, + ), ), - _ChooseDonation(program: program) - ], - ), + ), + const Divider( + color: Colors.black, + height: 0.2, + ), + _ChooseDonation(program: program) + ]), ), ), ); @@ -43,6 +51,7 @@ class ChooseDonationDialog extends StatelessWidget { class _ChooseDonation extends StatefulWidget { final Program program; + const _ChooseDonation({Key key, @required this.program}) : super(key: key); @override @@ -55,73 +64,69 @@ class __ChooseDonationState extends State<_ChooseDonation> { @override Widget build(BuildContext context) { - return Column( - children: [ - CheckboxListTile( + return Column(children: [ + CheckboxListTile( key: const Key('uang'), - dense: true, - controlAffinity: ListTileControlAffinity.leading, - value: uangValue, - title: Text( - 'Uang', - style: - Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 18), - ), - onChanged: (val) { - setState(() { - uangValue = !uangValue; - barangValue = false; - }); - }), - CheckboxListTile( + dense: true, + controlAffinity: ListTileControlAffinity.leading, + value: uangValue, + title: Text( + 'Uang', + style: Theme.of(context).textTheme.bodyText1.copyWith( + fontSize: 18, + ), + ), + onChanged: (val) { + setState(() { + uangValue = !uangValue; + barangValue = false; + }); + }), + CheckboxListTile( key: const Key('barang'), dense: true, controlAffinity: ListTileControlAffinity.leading, - title: Text('Barang', - style: - Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 18)), + title: Text( + 'Barang', + style: Theme.of(context).textTheme.bodyText1.copyWith(fontSize: 18), + ), value: barangValue, onChanged: (val) { setState(() { uangValue = false; barangValue = !barangValue; }); - }, - ), - GestureDetector( - onTap: () { - if (uangValue) { - Navigator.of(context).pushNamed(Router.donationPage, - arguments: {'program': widget.program}); - } else if (barangValue) { - Navigator.of(context).pushNamed(Router.goodsDonationPage, - arguments: {'program': widget.program}); - } - }, - child: Row( - mainAxisAlignment: MainAxisAlignment.end, - children: [ - Container( - width: 100, - height: 37, - decoration: BoxDecoration( - border: Border.all( - color: const Color.fromRGBO(60, 141, 188, - 1)), //new Color.fromRGBO(255, 0, 0, 0.0), - borderRadius: BorderRadius.circular(50)), - child: Center( - child: Text( - 'OK', - style: Theme.of(context). - textTheme.bodyText1.copyWith( - fontSize: 18, color: - const Color.fromRGBO(60, 141, 188, 1)), - ), - )), - ], + }), + GestureDetector( + onTap: () { + if (uangValue) { + Navigator.of(context).pushNamed(Router.donationPage, + arguments: {'program': widget.program}); + } else if (barangValue) { + Navigator.of(context).pushNamed(Router.goodsDonationPage, + arguments: {'program': widget.program}); + } + }, + child: Row(mainAxisAlignment: MainAxisAlignment.end, children: [ + Container( + width: 100, + height: 37, + decoration: BoxDecoration( + border: Border.all( + color: const Color.fromRGBO(60, 141, 188, 1), + ), //new Color.fromRGBO(255, 0, 0, 0.0), + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: Text( + 'OK', + style: Theme.of(context).textTheme.bodyText1.copyWith( + fontSize: 18, color: const Color.fromRGBO(60, 141, 188, 1)), + ), + ), ), - ), - ], - ); + ]), + ), + ]); } } diff --git a/lib/Pages/Donation/goods_donation_page.dart b/lib/Pages/Donation/goods_donation_page.dart index e938d6a..d6e5477 100644 --- a/lib/Pages/Donation/goods_donation_page.dart +++ b/lib/Pages/Donation/goods_donation_page.dart @@ -6,6 +6,7 @@ import 'package:home_industry/Pages/Donation/repositories/donation_repository.da import 'package:home_industry/Pages/Program/model/program.dart'; import 'package:home_industry/State/Auth/repositories/dependencies_repositories.dart'; import 'package:home_industry/State/ChangeBottomNavigationBar/change_bottom_navigation_bar_bloc.dart'; + import 'bloc_goods_donation/goods_donation_bloc.dart'; import 'bloc_goods_donation/goods_donation_event.dart'; import 'bloc_goods_donation/goods_donation_state.dart'; @@ -31,9 +32,11 @@ class _DonasiBarangState extends State { @override void initState() { goodsDonationBloc = GoodsDonationBloc( - DonationRepository( - RepositoryProvider.of(context).dio), - BlocProvider.of(context)); + DonationRepository( + RepositoryProvider.of(context).dio, + ), + BlocProvider.of(context), + ); super.initState(); } @@ -44,12 +47,13 @@ class _DonasiBarangState extends State { @required bool isFinal, String address}) { goodsDonationBloc.add(GoodsDonationButtonClicked( - program: widget.program.id, - quantity: quantity, - description: description, - address: address, - methodOfDelivery: methodOfDelivery, - isFinal: isFinal)); + program: widget.program.id, + quantity: quantity, + description: description, + address: address, + methodOfDelivery: methodOfDelivery, + isFinal: isFinal, + )); } @override @@ -63,30 +67,34 @@ class _DonasiBarangState extends State { return Scaffold( appBar: AppBar(), body: BlocListener( - bloc: goodsDonationBloc, - listener: (_, state) { - if (state is SendingGoodsDonationLoading) { - EasyLoading.show(status: 'Donasi anda sedang di proses'); - } else if (state is SendingGoodsDonationError) { - EasyLoading.showError('Terjadi kesalahan, mohon coba lagi.'); - } else if (state is SendingGoodsDonationSuccess) { - EasyLoading.showSuccess( - 'Terima kasih!\nDonasi anda sedang dalam pengecekan'); - Navigator.of(context).popUntil(ModalRoute.withName('/')); - } - }, - child: ListView( - children: [ - SizedBox( - height: MediaQuery.of(context).size.height / 5, - child: Container( - decoration: BoxDecoration( - border: Border.all( - color: const Color.fromRGBO(60, 141, 188, 1))), - child: CachedImage(url: widget.program.posterImage))), - Container( - margin: const EdgeInsets.only(top: 20, left: 20, right: 10), - child: Column( + bloc: goodsDonationBloc, + listener: (_, state) { + if (state is SendingGoodsDonationLoading) { + EasyLoading.show(status: 'Donasi anda sedang di proses'); + } else if (state is SendingGoodsDonationError) { + EasyLoading.showError('Terjadi kesalahan, mohon coba lagi.'); + } else if (state is SendingGoodsDonationSuccess) { + EasyLoading.showSuccess( + 'Terima kasih!\nDonasi anda sedang dalam pengecekan'); + Navigator.of(context).popUntil(ModalRoute.withName('/')); + } + }, + child: ListView( + children: [ + SizedBox( + height: MediaQuery.of(context).size.height / 5, + child: Container( + decoration: BoxDecoration( + border: Border.all( + color: const Color.fromRGBO(60, 141, 188, 1), + ), + ), + child: CachedImage(url: widget.program.posterImage), + ), + ), + Container( + margin: const EdgeInsets.only(top: 20, left: 20, right: 10), + child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( @@ -97,15 +105,16 @@ class _DonasiBarangState extends State { .copyWith(fontSize: 18), ), Container( - margin: const EdgeInsets.only(top: 10, bottom: 20), - width: MediaQuery.of(context).size.width, - child: Text( - 'Silakan isi detil barang yang ingin didonasikan.', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 18), - )), + margin: const EdgeInsets.only(top: 10, bottom: 20), + width: MediaQuery.of(context).size.width, + child: Text( + 'Silakan isi detil barang yang ingin didonasikan.', + style: Theme.of(context) + .textTheme + .bodyText2 + .copyWith(fontSize: 18), + ), + ), Text( 'Tekan lambang + untuk menambah barang.', style: Theme.of(context) @@ -113,117 +122,110 @@ class _DonasiBarangState extends State { .bodyText2 .copyWith(fontSize: 10, color: Colors.black54), ) - ], - ), - ), - Container( - margin: const EdgeInsets.symmetric(horizontal: 20.0), - child: Form( - key: _formKey, - child: Column( - children: [ - ..._getGoodsForm(), - Row( - children: [ - Radio( - key: const Key('PCK-button'), - value: 'PCK', - groupValue: methodOfDelivery, - onChanged: (val) { - setState(() { - methodOfDelivery = val; - deliveryWidget = Row( - crossAxisAlignment: - CrossAxisAlignment.start, - children: [ - RichText( - text: TextSpan( - text: 'Alamat', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 18), - children: [ - TextSpan( - text: '*', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith( - fontSize: 18, - color: Colors.red)), - ], - ), + ]), + ), + Container( + margin: const EdgeInsets.symmetric(horizontal: 20.0), + child: Form( + key: _formKey, + child: Column(children: [ + ..._getGoodsForm(), + Row(children: [ + Radio( + key: const Key('PCK-button'), + value: 'PCK', + groupValue: methodOfDelivery, + onChanged: (val) { + setState(() { + methodOfDelivery = val; + deliveryWidget = Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + RichText( + text: TextSpan( + text: 'Alamat', + style: Theme.of(context) + .textTheme + .bodyText2 + .copyWith(fontSize: 18), + children: [ + TextSpan( + text: '*', + style: Theme.of(context) + .textTheme + .bodyText2 + .copyWith( + fontSize: 18, + color: Colors.red), ), - const SizedBox(width: 70), - Container( - width: MediaQuery.of(context) - .size - .width / - 2, - height: 80, - color: Colors.white, - child: Padding( - padding: - const EdgeInsets.only(top: 8.0), - child: TextFormField( - controller: addressController, - keyboardType: - TextInputType.multiline, - validator: (value) { - if (value.isEmpty) { - return 'Mohon isi alamat'; - } - return null; - }, - maxLines: 5, - decoration: _inputDecoration()), - )) ], - ); - }); - }, - ), - Text( - 'Dijemput', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 16), - ), - Radio( - key: const Key('DLV-button'), - value: 'DLV', - groupValue: methodOfDelivery, - onChanged: (val) { - setState(() { - addressController.text = null; - methodOfDelivery = val; - deliveryWidget = Container(height: 80); - }); - }, - ), - Text( - 'Diantar ke Al-Jabbar', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 16), - ), - ], - ), - const SizedBox( - height: 10, - ), - deliveryWidget, - const SizedBox( - height: 15, - ), - ], - )), - ) - ], - )), + ), + ), + const SizedBox(width: 70), + Container( + width: MediaQuery.of(context).size.width / 2, + height: 80, + color: Colors.white, + child: Padding( + padding: const EdgeInsets.only(top: 8.0), + child: TextFormField( + controller: addressController, + keyboardType: TextInputType.multiline, + validator: (value) { + if (value.isEmpty) { + return 'Mohon isi alamat'; + } + return null; + }, + maxLines: 5, + decoration: _inputDecoration(), + ), + ), + ) + ]); + }); + }, + ), + Text( + 'Dijemput', + style: Theme.of(context) + .textTheme + .bodyText2 + .copyWith(fontSize: 16), + ), + Radio( + key: const Key('DLV-button'), + value: 'DLV', + groupValue: methodOfDelivery, + onChanged: (val) { + setState(() { + addressController.text = null; + methodOfDelivery = val; + deliveryWidget = Container(height: 80); + }); + }, + ), + Text( + 'Diantar ke Al-Jabbar', + style: Theme.of(context) + .textTheme + .bodyText2 + .copyWith(fontSize: 16), + ), + ]), + const SizedBox( + height: 10, + ), + deliveryWidget, + const SizedBox( + height: 15, + ), + ]), + ), + ) + ], + ), + ), bottomNavigationBar: GestureDetector( onTap: () { if (methodOfDelivery == null) { @@ -237,8 +239,7 @@ class _DonasiBarangState extends State { ), ); }); - } - else if (_formKey.currentState.validate()) { + } else if (_formKey.currentState.validate()) { _formKey.currentState.save(); for (var i = 0; i < goodsDescList.length; i++) { if (i == goodsDescList.length - 1) { @@ -258,20 +259,25 @@ class _DonasiBarangState extends State { }, child: Container( width: 330, - margin: const EdgeInsets.symmetric(vertical: 10.0, horizontal: 25.0), + margin: const EdgeInsets.symmetric( + vertical: 10.0, + horizontal: 25.0, + ), height: 45, decoration: BoxDecoration( - color: const Color.fromRGBO(60, 141, 188, 1), - borderRadius: BorderRadius.circular(50)), + color: const Color.fromRGBO(60, 141, 188, 1), + borderRadius: BorderRadius.circular(50), + ), child: Center( - child: Text( - 'DONASI SEKARANG', - style: Theme.of(context).textTheme.bodyText2.copyWith( - fontSize: 18, - color: Colors.white, - fontWeight: FontWeight.bold, - letterSpacing: 1.2), - )), + child: Text( + 'DONASI SEKARANG', + style: Theme.of(context).textTheme.bodyText2.copyWith( + fontSize: 18, + color: Colors.white, + fontWeight: FontWeight.bold, + letterSpacing: 1.2), + ), + ), ), ), ); @@ -284,7 +290,8 @@ class _DonasiBarangState extends State { goodsTextFields.add(Padding( padding: const EdgeInsets.symmetric(vertical: 16.0), child: Wrap( - children: goodsDescList.length > 1 ? [ + children: goodsDescList.length > 1 + ? [ GoodsForm(index: i), _removeButton(i), ] @@ -300,109 +307,98 @@ class _DonasiBarangState extends State { Widget _addRemoveButton(bool add, int index) { return Padding( padding: const EdgeInsets.only(top: 15.0), - child: Column( - children: [ - Container( - alignment: Alignment(0.0, 0.0), - child: InkWell( - key: Key('addRemoveButton$index'), - onTap: () { - if (add) { - goodsDescList.add(null); - goodsQtyList.add(null); - } else { - goodsDescList.removeAt(index); - goodsQtyList.removeAt(index); - } - setState(() {}); - }, - child: add - ? Container( - width: 150, - height: 25, - decoration: BoxDecoration( - color: const Color.fromRGBO(60, 141, 188, 1), - borderRadius: BorderRadius.circular(50), - ), - child: Center( - child: Text( - ' + TAMBAH BARANG', + child: Column(children: [ + Container( + alignment: Alignment(0.0, 0.0), + child: InkWell( + key: Key('addRemoveButton$index'), + onTap: () { + if (add) { + goodsDescList.add(null); + goodsQtyList.add(null); + } else { + goodsDescList.removeAt(index); + goodsQtyList.removeAt(index); + } + setState(() {}); + }, + child: add + ? Container( + width: 150, + height: 25, + decoration: BoxDecoration( + color: const Color.fromRGBO(60, 141, 188, 1), + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: Text(' + TAMBAH BARANG', style: Theme.of(context).textTheme.bodyText2.copyWith( - fontSize: 13, - color: const Color.fromRGBO(224, 225, 226, 1) - ) - ) + fontSize: 13, + color: const Color.fromRGBO(224, 225, 226, 1), + )), + ), ) - - ) - : Container( - width: 111, - height: 25, - decoration: BoxDecoration( - color: const Color.fromRGBO(224, 225, 226, 1), - borderRadius: BorderRadius.circular(50), - ), - child: Center( - child: Text( - 'HAPUS', - style: Theme.of(context).textTheme.bodyText2.copyWith( - fontSize: 13, - color: const Color.fromRGBO(60, 141, 188, 1), + : Container( + width: 111, + height: 25, + decoration: BoxDecoration( + color: const Color.fromRGBO(224, 225, 226, 1), + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: Text('HAPUS', + style: Theme.of(context).textTheme.bodyText2.copyWith( + fontSize: 13, + color: const Color.fromRGBO(60, 141, 188, 1), + )), ), ), - ), - ), - ), ), - Container( - width: MediaQuery.of(context).size.width, - child: const Divider(color: Colors.grey)), - ], - ), + ), + Container( + width: MediaQuery.of(context).size.width, + child: const Divider(color: Colors.grey)), + ]), ); } Widget _removeButton(int index) { return Padding( padding: const EdgeInsets.only(top: 15.0), - child: Column( - children: [ - Container( - alignment: Alignment(1.0, 0.0), - child: InkWell( - key: Key('removeButton$index'), - onTap: () { - goodsDescList.removeAt(index); - goodsQtyList.removeAt(index); - setState(() {}); - }, - child: Container( - width: 111, - height: 25, - decoration: BoxDecoration( - color: const Color.fromRGBO(224, 225, 226, 1), - borderRadius: BorderRadius.circular(50), - ), - child: Center( - child: Text( - 'HAPUS', + child: Column(children: [ + Container( + alignment: Alignment(1.0, 0.0), + child: InkWell( + key: Key('removeButton$index'), + onTap: () { + goodsDescList.removeAt(index); + goodsQtyList.removeAt(index); + setState(() {}); + }, + child: Container( + width: 111, + height: 25, + decoration: BoxDecoration( + color: const Color.fromRGBO(224, 225, 226, 1), + borderRadius: BorderRadius.circular(50), + ), + child: Center( + child: Text('HAPUS', style: Theme.of(context).textTheme.bodyText2.copyWith( fontSize: 13, color: const Color.fromRGBO(60, 141, 188, 1), - ), - ), - ), + )), ), ), ), - Container( - width: MediaQuery.of(context).size.width, - child: const Divider(color: Colors.grey)), - ], - ), + ), + Container( + width: MediaQuery.of(context).size.width, + child: const Divider(color: Colors.grey), + ), + ]), ); } - } class GoodsForm extends StatefulWidget { @@ -428,85 +424,76 @@ class _GoodsFormState extends State { _DonasiBarangState.goodsQtyList[widget.index] ?? ''; }); - return Column( - children: [ - Row( - children: [ - RichText( - text: TextSpan( - text: 'Jenis Barang', + return Column(children: [ + Row(children: [ + RichText( + text: TextSpan( + text: 'Jenis Barang', + style: Theme.of(context).textTheme.bodyText2.copyWith(fontSize: 18), + children: [ + TextSpan( + text: '*', style: Theme.of(context) .textTheme .bodyText2 - .copyWith(fontSize: 18), - children: [ - TextSpan( - text: '*', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 18, color: Colors.red)), - ], + .copyWith(fontSize: 18, color: Colors.red), ), - ), - const SizedBox(width: 20), - Container( - width: MediaQuery.of(context).size.width / 2, - height: 50, - child: TextFormField( - key: const Key('goods-desc'), - onChanged: (v) => - _DonasiBarangState.goodsDescList[widget.index] = v, - controller: _goodsDescriptionController, - validator: (value) { - return value.isEmpty ? 'Mohon isi jenis barang' : null; - }, - decoration: _inputDecoration(), - )), - ], + ], + ), ), - const SizedBox( - height: 20, + const SizedBox(width: 20), + Container( + width: MediaQuery.of(context).size.width / 2, + height: 50, + child: TextFormField( + key: const Key('goods-desc'), + onChanged: (v) => + _DonasiBarangState.goodsDescList[widget.index] = v, + controller: _goodsDescriptionController, + validator: (value) { + return value.isEmpty ? 'Mohon isi jenis barang' : null; + }, + decoration: _inputDecoration(), + ), ), - Row( - children: [ - RichText( - text: TextSpan( - text: 'Jumlah', + ]), + const SizedBox( + height: 20, + ), + Row(children: [ + RichText( + text: TextSpan( + text: 'Jumlah', + style: Theme.of(context).textTheme.bodyText2.copyWith(fontSize: 18), + children: [ + TextSpan( + text: '*', style: Theme.of(context) .textTheme .bodyText2 - .copyWith(fontSize: 18), - children: [ - TextSpan( - text: '*', - style: Theme.of(context) - .textTheme - .bodyText2 - .copyWith(fontSize: 18, color: Colors.red)), - ], + .copyWith(fontSize: 18, color: Colors.red), ), - ), - const SizedBox(width: 70), - Container( - width: MediaQuery.of(context).size.width / 2, - height: 50, - color: Colors.white, - child: TextFormField( - key: const Key('goods-qty'), - onChanged: (v) => - _DonasiBarangState.goodsQtyList[widget.index] = v, - controller: _goodsQuantityController, - validator: (value) { - return value.isEmpty ? 'Mohon isi jumlah barang' : null; - }, - keyboardType: TextInputType.number, - decoration: _inputDecoration(), - )) - ], + ], + ), ), - ], - ); + const SizedBox(width: 70), + Container( + width: MediaQuery.of(context).size.width / 2, + height: 50, + color: Colors.white, + child: TextFormField( + key: const Key('goods-qty'), + onChanged: (v) => _DonasiBarangState.goodsQtyList[widget.index] = v, + controller: _goodsQuantityController, + validator: (value) { + return value.isEmpty ? 'Mohon isi jumlah barang' : null; + }, + keyboardType: TextInputType.number, + decoration: _inputDecoration(), + ), + ) + ]), + ]); } } @@ -515,10 +502,19 @@ InputDecoration _inputDecoration() { contentPadding: EdgeInsets.symmetric(horizontal: 10), fillColor: Colors.white, enabledBorder: OutlineInputBorder( - borderSide: BorderSide(color: Color.fromRGBO(224, 225, 226, 1))), + borderSide: BorderSide( + color: Color.fromRGBO(224, 225, 226, 1), + ), + ), border: OutlineInputBorder( - borderSide: BorderSide(color: Color.fromRGBO(224, 225, 226, 1))), + borderSide: BorderSide( + color: Color.fromRGBO(224, 225, 226, 1), + ), + ), focusedBorder: OutlineInputBorder( - borderSide: BorderSide(color: Color.fromRGBO(224, 225, 226, 1))), + borderSide: BorderSide( + color: Color.fromRGBO(224, 225, 226, 1), + ), + ), ); } diff --git a/lib/Pages/Donation/money_donation_page.dart b/lib/Pages/Donation/money_donation_page.dart index 5abcbf8..9257722 100644 --- a/lib/Pages/Donation/money_donation_page.dart +++ b/lib/Pages/Donation/money_donation_page.dart @@ -35,9 +35,11 @@ class _DonationState extends State { @override void initState() { donationBloc = MoneyDonationBloc( - DonationRepository( - RepositoryProvider.of(context).dio), - BlocProvider.of(context)); + DonationRepository( + RepositoryProvider.of(context).dio, + ), + BlocProvider.of(context), + ); super.initState(); } @@ -65,35 +67,38 @@ class _DonationState extends State { @override Widget build(BuildContext context) { return Scaffold( - appBar: AppBar( - title: const Text('Donasi'), - centerTitle: true, + appBar: AppBar( + title: const Text('Donasi'), + centerTitle: true, + ), + body: BlocListener( + bloc: donationBloc, + listener: (_, state) { + if (state is UploadProofLoading) { + EasyLoading.show(status: 'Bukti sedang diunggah'); + } else if (state is UploadProofError) { + EasyLoading.showError('Gagal unggah bukti donasi'); + } else if (state is UploadProofSuccess) { + EasyLoading.showSuccess( + 'Terima kasih!\nDonasi anda sedang dalam pengecekan'); + Navigator.of(context).popUntil(ModalRoute.withName('/')); + } + }, + child: ListView( + padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 8), + children: [ + SizedBox( + height: MediaQuery.of(context).size.height / 4, + child: CachedImage(url: widget.program.posterImage), + ), + DonasiBody( + tap: onTap, + program: widget.program, + ), + ], ), - body: BlocListener( - bloc: donationBloc, - listener: (_, state) { - if (state is UploadProofLoading) { - EasyLoading.show(status: 'Bukti sedang diunggah'); - } else if (state is UploadProofError) { - EasyLoading.showError('Gagal unggah bukti donasi'); - } else if (state is UploadProofSuccess) { - EasyLoading.showSuccess( - 'Terima kasih!\nDonasi anda sedang dalam pengecekan'); - Navigator.of(context).popUntil(ModalRoute.withName('/')); - } - }, - child: ListView( - padding: const EdgeInsets.symmetric(horizontal: 10, vertical: 8), - children: [ - SizedBox( - height: MediaQuery.of(context).size.height / 4, - child: CachedImage(url: widget.program.posterImage)), - DonasiBody( - tap: onTap, - program: widget.program, - ), - ], - ))); + ), + ); } } @@ -225,11 +230,12 @@ class _FormViewState extends State<_FormView> { title: const Text('Choose Image From'), children: [ BorderBlueButton( - onPressed: () async { - await _getImageFromCamera(); - Navigator.pop(context); - }, - label: 'Camera'), + onPressed: () async { + await _getImageFromCamera(); + Navigator.pop(context); + }, + label: 'Camera', + ), BorderBlueButton( onPressed: () async { await _getImageFromGallery(); @@ -277,10 +283,14 @@ class _FormViewState extends State<_FormView> { Widget _dynamicImage() { if (_image != null) { return Container( - height: 120, - width: 120, - decoration: - BoxDecoration(image: DecorationImage(image: FileImage(_image)))); + height: 120, + width: 120, + decoration: BoxDecoration( + image: DecorationImage( + image: FileImage(_image), + ), + ), + ); } return const Text('Belum memilih foto'); } @@ -314,29 +324,30 @@ class _FormViewState extends State<_FormView> { 'Belum memilih foto', textAlign: TextAlign.center, ); - }, - ) + }) : _dynamicImage(), OutlineButton.icon( - onPressed: _showChoosePicture, - borderSide: - BorderSide(color: Theme.of(context).primaryColor, width: 2), - shape: - RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), - icon: const Icon(Icons.file_upload), - label: const Text('Upload bukti transfer')), + onPressed: _showChoosePicture, + borderSide: + BorderSide(color: Theme.of(context).primaryColor, width: 2), + shape: + RoundedRectangleBorder(borderRadius: BorderRadius.circular(10)), + icon: const Icon(Icons.file_upload), + label: const Text('Upload bukti transfer'), + ), const Divider( thickness: 0, height: 10, ), SizedBox( - width: double.infinity, - height: 42, - child: BlueButton( - onPressed: _buttonSendClicked, - label: context.watch() != null - ? 'Unggah ulang' - : 'Donasi Sekarang')), + width: double.infinity, + height: 42, + child: BlueButton( + onPressed: _buttonSendClicked, + label: context.watch() != null + ? 'Unggah ulang' + : 'Donasi Sekarang'), + ), const Divider( height: 10, ), @@ -368,44 +379,42 @@ class _FormDonasi extends StatelessWidget { @override Widget build(BuildContext context) { return SizedBox( - height: 230, - child: Form( - key: formKey, - child: FocusScope( - node: focusScopeNode, - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceAround, - children: [ - CustomTextInputForm( - initialValue: context.watch()?.userBankName, - label: 'Nama Bank', - prefixIcon: Icons.payment, - onSave: setBankName, - onSubmit: _handleSubmitted, - textInputAction: TextInputAction.next, - ), - CustomTextInputForm( - initialValue: - context.watch()?.userBankAccountName, - label: 'Nama Pengirim', - prefixIcon: Icons.person_outline, - onSave: setName, - onSubmit: _handleSubmitted, - textInputAction: TextInputAction.next, - ), - CustomTextInputForm( - initialValue: context - .watch() - ?.amount - ?.split('.') - ?.elementAt(0), - label: 'Nominal', - prefixIcon: Icons.attach_money, - onSave: setNominal, - isNumberOnly: true, - ), - ], + height: 230, + child: Form( + key: formKey, + child: FocusScope( + node: focusScopeNode, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceAround, + children: [ + CustomTextInputForm( + initialValue: context.watch()?.userBankName, + label: 'Nama Bank', + prefixIcon: Icons.payment, + onSave: setBankName, + onSubmit: _handleSubmitted, + textInputAction: TextInputAction.next, + ), + CustomTextInputForm( + initialValue: context.watch()?.userBankAccountName, + label: 'Nama Pengirim', + prefixIcon: Icons.person_outline, + onSave: setName, + onSubmit: _handleSubmitted, + textInputAction: TextInputAction.next, ), - ))); + CustomTextInputForm( + initialValue: + context.watch()?.amount?.split('.')?.elementAt(0), + label: 'Nominal', + prefixIcon: Icons.attach_money, + onSave: setNominal, + isNumberOnly: true, + ), + ], + ), + ), + ), + ); } } diff --git a/lib/Pages/Donation/repositories/donation_repository.dart b/lib/Pages/Donation/repositories/donation_repository.dart index f4f70ff..8c18b78 100644 --- a/lib/Pages/Donation/repositories/donation_repository.dart +++ b/lib/Pages/Donation/repositories/donation_repository.dart @@ -24,14 +24,13 @@ class DonationRepository { await _dio.post(url, data: formData); } - Future createGoodsDonation( - String program, String quantity, - String description, String address, - String methodOfDelivery) async { + Future createGoodsDonation(String program, String quantity, + String description, String address, String methodOfDelivery) async { String deliveryAddress; - methodOfDelivery == 'DLV' ? - deliveryAddress = null : deliveryAddress = address; + methodOfDelivery == 'DLV' + ? deliveryAddress = null + : deliveryAddress = address; final formData = FormData.fromMap({ 'program': program, @@ -43,5 +42,4 @@ class DonationRepository { }); await _dio.post(url, data: formData); } - } -- GitLab