From db194c9f1ab61c813c1612f56a17dead2e2f36a9 Mon Sep 17 00:00:00 2001 From: Novian Andika Date: Wed, 26 Apr 2023 16:42:15 +0700 Subject: [PATCH] feat: pengutus done --- .../views/debitur_deploy_view.dart | 19 ++- .../change_office/change_office.dart | 4 +- .../home/views/components/home_menu.dart | 61 +++---- .../views/components/password/password.dart | 2 +- .../refresh_token/refresh_token.dart | 4 +- .../home_search_nik/search_form.dart | 2 +- .../widget/home_history_and_submission.dart | 146 +++++++++------- .../views/insight_debitur_view.dart | 143 ++++++++-------- .../intro-screen/views/intro_screen_view.dart | 4 +- .../list_debitur_filter_fab/filter_form.dart | 10 +- .../widget/list_debitur_filter_fab.dart | 10 +- .../widget/list_debitur_the_list.dart | 59 ++++--- .../login_page_login_form/reuseable_form.dart | 2 +- .../searchabledropdown.dart | 2 +- ...fice_selection_office_searchable_form.dart | 2 +- .../views/pengutus_completed_list_view.dart | 4 +- .../pengutus_completed_list_available.dart | 4 +- .../views/pengutus_pending_list_view.dart | 4 +- .../pengutus_pending_list_available.dart | 2 +- .../views/pengutus_submit_view.dart | 94 +---------- .../widget/pengutus_submit_agunan.dart | 2 +- .../widget/pengutus_submit_bisnis.dart | 2 +- .../widget/pengutus_submit_bottom_navbar.dart | 111 +++++++++++++ .../widget/pengutus_submit_inputan.dart | 2 +- .../widget/pengutus_submit_karakter.dart | 2 +- .../widget/pengutus_submit_keuangan.dart | 2 +- .../widget/pengutus_submit_response.dart | 2 +- .../widget/pengutus_submit_usaha.dart | 2 +- .../reviewer_completed_list_available.dart | 4 +- .../views/reviewer_submit_view.dart | 15 +- .../widget/reviewer_submit_botton_navbar.dart | 157 ++++++++++-------- .../widget/reviewer_submit_response.dart | 6 +- lib/app/widget/form/datepicker_field.dart | 2 +- .../form/searchable_dropdown_field.dart | 2 +- lib/app/widget/form/text_field.dart | 2 +- 35 files changed, 500 insertions(+), 391 deletions(-) create mode 100644 lib/app/modules/pengutus_submit/widget/pengutus_submit_bottom_navbar.dart diff --git a/lib/app/modules/debitur_deploy/views/debitur_deploy_view.dart b/lib/app/modules/debitur_deploy/views/debitur_deploy_view.dart index 7ff105eb..764c208f 100644 --- a/lib/app/modules/debitur_deploy/views/debitur_deploy_view.dart +++ b/lib/app/modules/debitur_deploy/views/debitur_deploy_view.dart @@ -1,4 +1,5 @@ // 🐦 Flutter imports: +import 'package:akm/app/common/style.dart'; import 'package:akm/app/modules/debitur_deploy/widget/debitur_deploy_bottom_navbar.dart'; import 'package:akm/app/modules/debitur_deploy/widget/debitur_deploy_create_form.dart'; import 'package:flutter/material.dart'; @@ -30,13 +31,19 @@ class DebiturDeployView extends GetView { appBar: AppBar( title: const Text('Input Debitur'), ), - body: SingleChildScrollView( + body: RawScrollbar( controller: scrollController, - child: SafeArea( - child: Container( - margin: const EdgeInsets.all(16), - child: DebiturDeployCreateForm( - controller: controller, + thumbColor: primaryColor, + radius: const Radius.circular(16), + thickness: 7, + child: SingleChildScrollView( + controller: scrollController, + child: SafeArea( + child: Container( + margin: const EdgeInsets.all(16), + child: DebiturDeployCreateForm( + controller: controller, + ), ), ), ), diff --git a/lib/app/modules/home/views/components/change_office/change_office.dart b/lib/app/modules/home/views/components/change_office/change_office.dart index 9798049a..b00a3eef 100644 --- a/lib/app/modules/home/views/components/change_office/change_office.dart +++ b/lib/app/modules/home/views/components/change_office/change_office.dart @@ -90,7 +90,7 @@ class ChangeOffice extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( @@ -165,7 +165,7 @@ class ChangeOffice extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/home/views/components/home_menu.dart b/lib/app/modules/home/views/components/home_menu.dart index 16fd2c43..5f65321e 100644 --- a/lib/app/modules/home/views/components/home_menu.dart +++ b/lib/app/modules/home/views/components/home_menu.dart @@ -6,7 +6,6 @@ import 'package:flutter/material.dart'; // 📦 Package imports: import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:get/get.dart'; -import 'package:getwidget/colors/gf_color.dart'; // 🌎 Project imports: import '../../controllers/home_controller.dart'; @@ -228,8 +227,8 @@ class StatusWidget extends StatelessWidget { child: Row( children: [ const Icon( - FontAwesomeIcons.check, - color: GFColors.SUCCESS, + FontAwesomeIcons.android, + color: secondaryColor, ), const SizedBox( width: 8, @@ -264,7 +263,7 @@ class StatusWidget extends StatelessWidget { ) : const Icon( FontAwesomeIcons.locationDot, - color: GFColors.DANGER, + color: secondaryColor, )), const SizedBox( width: 8, @@ -318,40 +317,42 @@ class StatusWidget extends StatelessWidget { ), ) : const Icon( - FontAwesomeIcons.building, - color: GFColors.INFO, + FontAwesomeIcons.locationArrow, + color: secondaryColor, )), const SizedBox( width: 8, ), - Obx(() => controller.mainBranch.value == '...' && - controller.helperBranch.value == '...' - ? SizedBox( - child: Row( - children: const [ - Text( - '...', - style: TextStyle( - color: Colors.white, - fontSize: 20, + Obx( + () => controller.mainBranch.value == '...' && + controller.helperBranch.value == '...' + ? SizedBox( + child: Row( + children: const [ + Text( + '...', + style: TextStyle( + color: Colors.white, + fontSize: 20, + ), ), + SizedBox( + width: 20, + ), + ], + ), + ) + : SizedBox( + width: 400, + child: Text( + '${controller.mainBranch} / ${controller.helperBranch}', + style: const TextStyle( + color: Colors.white, + fontSize: 20, ), - SizedBox( - width: 20, - ), - ], - ), - ) - : SizedBox( - width: 400, - child: Text( - '${controller.mainBranch} / ${controller.helperBranch}', - style: const TextStyle( - color: Colors.white, - fontSize: 20, ), ), - )), + ), ], ), ), diff --git a/lib/app/modules/home/views/components/password/password.dart b/lib/app/modules/home/views/components/password/password.dart index 06a54937..5d50ea49 100644 --- a/lib/app/modules/home/views/components/password/password.dart +++ b/lib/app/modules/home/views/components/password/password.dart @@ -76,7 +76,7 @@ class SetPassword extends StatelessWidget { contentPadding: const EdgeInsets.symmetric(vertical: 25), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/home/views/components/refresh_token/refresh_token.dart b/lib/app/modules/home/views/components/refresh_token/refresh_token.dart index edb1fdaf..7eea8b57 100644 --- a/lib/app/modules/home/views/components/refresh_token/refresh_token.dart +++ b/lib/app/modules/home/views/components/refresh_token/refresh_token.dart @@ -73,7 +73,7 @@ class RefreshToken extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( @@ -141,7 +141,7 @@ class RefreshToken extends StatelessWidget { contentPadding: const EdgeInsets.symmetric(vertical: 25), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/home/widget/components/home_search_nik/search_form.dart b/lib/app/modules/home/widget/components/home_search_nik/search_form.dart index cd825260..90f2e411 100644 --- a/lib/app/modules/home/widget/components/home_search_nik/search_form.dart +++ b/lib/app/modules/home/widget/components/home_search_nik/search_form.dart @@ -59,7 +59,7 @@ class NikSearchForm extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/home/widget/home_history_and_submission.dart b/lib/app/modules/home/widget/home_history_and_submission.dart index b6560eb9..da40bd1f 100644 --- a/lib/app/modules/home/widget/home_history_and_submission.dart +++ b/lib/app/modules/home/widget/home_history_and_submission.dart @@ -76,52 +76,65 @@ class _HomeHistoryAndSubmissionState extends State { ); } else { if (widget.controller.listMyInput.isNotEmpty) { - return Column( + return Stack( children: [ - BootstrapAlert( - visible: _showAlert, - status: AlertStatus.success, - text: - 'Ini merupakan daftar riwayat penginputan debitur yang telah anda lakukan yang diurutkan berdasarkan alpabet', - isDismissible: true, - leadingIcon: Icons.people_outline, - borderRadius: const BorderRadius.all( - Radius.circular(10), - ), - margin: const EdgeInsets.all(10), - onDismissed: () {}, - ), - BootstrapAlert( - visible: _showAlert, - status: AlertStatus.primary, - text: - 'Untuk fitur filter, sorting, dan pencarian, silahkan klik floating action button yang ada di pojok kanan bawah', - isDismissible: true, - leadingIcon: Icons.info_outline, - borderRadius: const BorderRadius.all( - Radius.circular(10), - ), - margin: const EdgeInsets.all(10), - onDismissed: () {}, - ), - BootstrapAlert( - visible: _showAlert, - status: AlertStatus.warning, - text: - 'Untuk melihat detail debitur tap atau tekan pada card debitur yang diinginkan', - isDismissible: true, - leadingIcon: Icons.insert_comment_outlined, - borderRadius: const BorderRadius.all( - Radius.circular(10), - ), - margin: const EdgeInsets.all(10), - onDismissed: () {}, - ), - Expanded( - child: ListRiwayatInput( - controller: widget.controller, + Align( + alignment: Alignment.bottomCenter, + child: Image.asset( + "assets/images/home/reviewer_completed.png", + height: + MediaQuery.of(context).size.height * 0.5, + fit: BoxFit.contain, ), ), + Column( + children: [ + BootstrapAlert( + visible: _showAlert, + status: AlertStatus.success, + text: + 'Ini merupakan daftar riwayat penginputan debitur yang telah anda lakukan yang diurutkan berdasarkan alpabet', + isDismissible: true, + leadingIcon: Icons.people_outline, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + margin: const EdgeInsets.all(10), + onDismissed: () {}, + ), + BootstrapAlert( + visible: _showAlert, + status: AlertStatus.primary, + text: + 'Untuk fitur filter, sorting, dan pencarian, silahkan klik floating action button yang ada di pojok kanan bawah', + isDismissible: true, + leadingIcon: Icons.info_outline, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + margin: const EdgeInsets.all(10), + onDismissed: () {}, + ), + BootstrapAlert( + visible: _showAlert, + status: AlertStatus.warning, + text: + 'Untuk melihat detail debitur tap atau tekan pada card debitur yang diinginkan', + isDismissible: true, + leadingIcon: Icons.insert_comment_outlined, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + margin: const EdgeInsets.all(10), + onDismissed: () {}, + ), + Expanded( + child: ListRiwayatInput( + controller: widget.controller, + ), + ), + ], + ) ], ); } else { @@ -142,26 +155,39 @@ class _HomeHistoryAndSubmissionState extends State { ); } else { if (widget.controller.listMySubmission.isNotEmpty) { - return Column( + return Stack( children: [ - BootstrapAlert( - visible: _showAlert, - status: AlertStatus.primary, - text: - 'Ini merupakan daftar riwayat pengajuan debitur yang telah anda lakukan yang diurutkan berdasarkan alpabet', - isDismissible: true, - leadingIcon: Icons.info_outline, - borderRadius: const BorderRadius.all( - Radius.circular(10), - ), - margin: const EdgeInsets.all(10), - onDismissed: () {}, - ), - Expanded( - child: ListRiwayatPengajuan( - controller: widget.controller, + Align( + alignment: Alignment.bottomCenter, + child: Image.asset( + "assets/images/home/reviewer_completed.png", + height: + MediaQuery.of(context).size.height * 0.5, + fit: BoxFit.contain, ), ), + Column( + children: [ + BootstrapAlert( + visible: _showAlert, + status: AlertStatus.primary, + text: + 'Ini merupakan daftar riwayat pengajuan debitur yang telah anda lakukan yang diurutkan berdasarkan alpabet', + isDismissible: true, + leadingIcon: Icons.info_outline, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + margin: const EdgeInsets.all(10), + onDismissed: () {}, + ), + Expanded( + child: ListRiwayatPengajuan( + controller: widget.controller, + ), + ), + ], + ) ], ); } else { diff --git a/lib/app/modules/insight_debitur/views/insight_debitur_view.dart b/lib/app/modules/insight_debitur/views/insight_debitur_view.dart index 040335f4..38b2661b 100644 --- a/lib/app/modules/insight_debitur/views/insight_debitur_view.dart +++ b/lib/app/modules/insight_debitur/views/insight_debitur_view.dart @@ -50,79 +50,84 @@ class InsightDebiturView extends GetView { onRefresh: () async { controller.refreshInsightDebitur(); }, - child: CustomScrollView( - slivers: [ - SliverAppBar( - iconTheme: const IconThemeData( - color: primaryColor, - ), - backgroundColor: Colors.transparent, - bottom: PreferredSize( - preferredSize: const Size.fromHeight(0), - child: Container( - decoration: const BoxDecoration( - borderRadius: BorderRadius.only( - topLeft: Radius.circular(500), - topRight: Radius.circular(500), - ), - color: secondaryColor), - // padding: const EdgeInsets.only(bottom: 25, top: 5), - width: double.maxFinite, - ), - ), - expandedHeight: 300, - pinned: true, - flexibleSpace: FlexibleSpaceBar( - background: Image.asset( - 'assets/images/home/copyright.jpg', - fit: BoxFit.cover, + child: RawScrollbar( + thumbColor: primaryColor, + radius: const Radius.circular(16), + thickness: 7, + child: CustomScrollView( + slivers: [ + SliverAppBar( + iconTheme: const IconThemeData( + color: primaryColor, ), - ), - ), - SliverToBoxAdapter( - child: Column( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - InsightDebiturTopSection( - controller: controller, - neracaController: neracaController, - rugiLabaController: rugiLabaController, - analisaKeuanganController: analisaKeuanganController, - analisaBisnisController: analisaBisnisController, - analisaKarakterController: analisaKarakterController, - analisaJenisUsahaController: analisaJenisUsahaController, - selectAgunanController: selectAgunanController, - analisaAgunanController: analisaAgunanController, - ), - InsightDebiturCarousel( - controller: controller, - ), - const SizedBox( - height: 10, - ), - InsightDebiturProgressBar( - controller: controller, - ), - const SizedBox( - height: 25, + backgroundColor: Colors.transparent, + bottom: PreferredSize( + preferredSize: const Size.fromHeight(0), + child: Container( + decoration: const BoxDecoration( + borderRadius: BorderRadius.only( + topLeft: Radius.circular(500), + topRight: Radius.circular(500), + ), + color: secondaryColor), + // padding: const EdgeInsets.only(bottom: 25, top: 5), + width: double.maxFinite, ), - InsightDebiturSubmissionButton( - controller: controller, - ), - const SizedBox( - height: 5.0, - ), - InsightDebiturContent( - controller: controller, - ), - InsighDebiturDetailDebitur( - controller: controller, + ), + expandedHeight: 300, + pinned: true, + flexibleSpace: FlexibleSpaceBar( + background: Image.asset( + 'assets/images/home/copyright.jpg', + fit: BoxFit.cover, ), - ], + ), + ), + SliverToBoxAdapter( + child: Column( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + InsightDebiturTopSection( + controller: controller, + neracaController: neracaController, + rugiLabaController: rugiLabaController, + analisaKeuanganController: analisaKeuanganController, + analisaBisnisController: analisaBisnisController, + analisaKarakterController: analisaKarakterController, + analisaJenisUsahaController: analisaJenisUsahaController, + selectAgunanController: selectAgunanController, + analisaAgunanController: analisaAgunanController, + ), + InsightDebiturCarousel( + controller: controller, + ), + const SizedBox( + height: 10, + ), + InsightDebiturProgressBar( + controller: controller, + ), + const SizedBox( + height: 25, + ), + InsightDebiturSubmissionButton( + controller: controller, + ), + const SizedBox( + height: 5.0, + ), + InsightDebiturContent( + controller: controller, + ), + InsighDebiturDetailDebitur( + controller: controller, + ), + ], + ), ), - ), - ], + ], + ), ), ), ); diff --git a/lib/app/modules/intro-screen/views/intro_screen_view.dart b/lib/app/modules/intro-screen/views/intro_screen_view.dart index bf44a7ba..c2fb695b 100644 --- a/lib/app/modules/intro-screen/views/intro_screen_view.dart +++ b/lib/app/modules/intro-screen/views/intro_screen_view.dart @@ -106,7 +106,7 @@ class IntroScreenView extends GetView { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( @@ -214,7 +214,7 @@ class IntroScreenView extends GetView { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/list_debitur/widget/components/list_debitur_filter_fab/filter_form.dart b/lib/app/modules/list_debitur/widget/components/list_debitur_filter_fab/filter_form.dart index 9ac649b3..746e377a 100644 --- a/lib/app/modules/list_debitur/widget/components/list_debitur_filter_fab/filter_form.dart +++ b/lib/app/modules/list_debitur/widget/components/list_debitur_filter_fab/filter_form.dart @@ -78,7 +78,7 @@ class FilterForm extends StatelessWidget { suffixStyle: const TextStyle( fontSize: 16, ), - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Theme.of(context).primaryColor), @@ -153,7 +153,7 @@ class FilterForm extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), @@ -217,7 +217,7 @@ class FilterForm extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), @@ -281,7 +281,7 @@ class FilterForm extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), @@ -357,7 +357,7 @@ class FilterForm extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), diff --git a/lib/app/modules/list_debitur/widget/list_debitur_filter_fab.dart b/lib/app/modules/list_debitur/widget/list_debitur_filter_fab.dart index 871a9f81..69977581 100644 --- a/lib/app/modules/list_debitur/widget/list_debitur_filter_fab.dart +++ b/lib/app/modules/list_debitur/widget/list_debitur_filter_fab.dart @@ -156,7 +156,7 @@ class ListDebiturFilterFab extends StatelessWidget { suffixStyle: const TextStyle( fontSize: 16, ), - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: OutlineInputBorder( borderSide: BorderSide( color: Theme.of(context) @@ -250,7 +250,7 @@ class ListDebiturFilterFab extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide( @@ -330,7 +330,7 @@ class ListDebiturFilterFab extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide( @@ -416,7 +416,7 @@ class ListDebiturFilterFab extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide( @@ -515,7 +515,7 @@ class ListDebiturFilterFab extends StatelessWidget { ), filled: true, fillColor: - Colors.grey.shade400, + Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide( diff --git a/lib/app/modules/list_debitur/widget/list_debitur_the_list.dart b/lib/app/modules/list_debitur/widget/list_debitur_the_list.dart index f432ea61..ab71d94b 100644 --- a/lib/app/modules/list_debitur/widget/list_debitur_the_list.dart +++ b/lib/app/modules/list_debitur/widget/list_debitur_the_list.dart @@ -26,26 +26,38 @@ class ListDebiturListView extends StatelessWidget { ); } else { if (controller.listDebitur.isNotEmpty) { - return Column( + return Stack( children: [ - BootstrapAlert( - visible: true, - status: AlertStatus.success, - text: - 'Ini merupakan list debitur yang telah diinputkan oleh semua analis, anda hanya dapat melihat data debitur yang anda inputkan', - leadingIcon: Icons.people_outline, - borderRadius: const BorderRadius.all( - Radius.circular(10), - ), - margin: const EdgeInsets.all(10), - onDismissed: () {}, - isDismissible: true, - ), - Expanded( - child: ListAllDebitur( - controller: controller, + Align( + alignment: Alignment.bottomCenter, + child: Image.asset( + "assets/images/home/list_pending.png", + height: MediaQuery.of(context).size.height * 0.5, + fit: BoxFit.contain, ), ), + Column( + children: [ + BootstrapAlert( + visible: true, + status: AlertStatus.success, + text: + 'Ini merupakan list debitur yang telah diinputkan oleh semua analis, anda hanya dapat melihat data debitur yang anda inputkan', + leadingIcon: Icons.people_outline, + borderRadius: const BorderRadius.all( + Radius.circular(10), + ), + margin: const EdgeInsets.all(10), + onDismissed: () {}, + isDismissible: true, + ), + Expanded( + child: ListAllDebitur( + controller: controller, + ), + ), + ], + ) ], ); } else { @@ -72,7 +84,8 @@ class ListDebiturListView extends StatelessWidget { child: Lottie.asset( 'assets/images/home/404.zip', frameRate: FrameRate.max, - fit: BoxFit.cover, + fit: BoxFit.contain, + height: 350, repeat: true, errorBuilder: (context, error, stackTrace) { return const Text( @@ -88,11 +101,11 @@ class ListDebiturListView extends StatelessWidget { child: Text( 'Data tidak dapat ditemukan di database atau list debitur masih kosong', style: TextStyle( - color: Colors.white, - fontSize: 22, - fontWeight: FontWeight.normal, - letterSpacing: 1.2, - ), + color: Colors.white, + fontSize: 22, + fontWeight: FontWeight.normal, + letterSpacing: 1.2, + height: 1.5), textAlign: TextAlign.center, ), ), diff --git a/lib/app/modules/login-page/widget/components/login_page_login_form/reuseable_form.dart b/lib/app/modules/login-page/widget/components/login_page_login_form/reuseable_form.dart index 8cf7797b..16faf2ca 100644 --- a/lib/app/modules/login-page/widget/components/login_page_login_form/reuseable_form.dart +++ b/lib/app/modules/login-page/widget/components/login_page_login_form/reuseable_form.dart @@ -53,7 +53,7 @@ class FleetimeLoginTextField extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade200, hoverColor: Colors.red, filled: true, suffixIcon: suffixIcon, diff --git a/lib/app/modules/office-selection/widget/components/office_selection_office_searchable_form/searchabledropdown.dart b/lib/app/modules/office-selection/widget/components/office_selection_office_searchable_form/searchabledropdown.dart index d1430c0a..8e11f70d 100644 --- a/lib/app/modules/office-selection/widget/components/office_selection_office_searchable_form/searchabledropdown.dart +++ b/lib/app/modules/office-selection/widget/components/office_selection_office_searchable_form/searchabledropdown.dart @@ -53,7 +53,7 @@ class FleetimeOfficeSelectionDropdown extends StatelessWidget { vertical: 25, ), focusColor: Colors.red, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, hoverColor: Colors.red, filled: true, focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/office-selection/widget/office_selection_office_searchable_form.dart b/lib/app/modules/office-selection/widget/office_selection_office_searchable_form.dart index 6988c074..f461cefe 100644 --- a/lib/app/modules/office-selection/widget/office_selection_office_searchable_form.dart +++ b/lib/app/modules/office-selection/widget/office_selection_office_searchable_form.dart @@ -83,7 +83,7 @@ class OfficeSearchableBody extends StatelessWidget { // vertical: 25, // ), // focusColor: Colors.red, - // fillColor: Colors.grey.shade400, + // fillColor: Colors.grey.shade300, // hoverColor: Colors.red, // filled: true, // focusedBorder: OutlineInputBorder( diff --git a/lib/app/modules/pengutus_completed_list/views/pengutus_completed_list_view.dart b/lib/app/modules/pengutus_completed_list/views/pengutus_completed_list_view.dart index 46b3c95e..64bfdee9 100644 --- a/lib/app/modules/pengutus_completed_list/views/pengutus_completed_list_view.dart +++ b/lib/app/modules/pengutus_completed_list/views/pengutus_completed_list_view.dart @@ -21,7 +21,9 @@ class PengutusCompletedListView ? const Align( alignment: Alignment.center, child: Center( - child: CircularProgressIndicator(), + child: CircularProgressIndicator( + color: Colors.pink, + ), ), ) : // check if listMyCompletedReview is empty diff --git a/lib/app/modules/pengutus_completed_list/widget/pengutus_completed_list_available.dart b/lib/app/modules/pengutus_completed_list/widget/pengutus_completed_list_available.dart index de5f8f1a..af602a3e 100644 --- a/lib/app/modules/pengutus_completed_list/widget/pengutus_completed_list_available.dart +++ b/lib/app/modules/pengutus_completed_list/widget/pengutus_completed_list_available.dart @@ -25,9 +25,9 @@ class PengutusCompletedList extends StatelessWidget { children: [ BootstrapAlert( visible: true, - status: AlertStatus.danger, + status: AlertStatus.success, text: - 'Ini adalah daftar pengajuan yang belum direview oleh kamu, silahkan review secepatnya', + 'Ini adalah daftar pengajuan yang sudah di putuskan olehmu, silahkan cek kembali apakah sudah benar atau belum', isDismissible: true, leadingIcon: Icons.people_outline, borderRadius: const BorderRadius.all( diff --git a/lib/app/modules/pengutus_pending_list/views/pengutus_pending_list_view.dart b/lib/app/modules/pengutus_pending_list/views/pengutus_pending_list_view.dart index a763671f..9e35a7ee 100644 --- a/lib/app/modules/pengutus_pending_list/views/pengutus_pending_list_view.dart +++ b/lib/app/modules/pengutus_pending_list/views/pengutus_pending_list_view.dart @@ -20,7 +20,9 @@ class PengutusPendingListView extends GetView { ? const Align( alignment: Alignment.center, child: Center( - child: CircularProgressIndicator(), + child: CircularProgressIndicator( + color: Colors.pink, + ), ), ) : controller.listMyPendingPemutusan.isEmpty diff --git a/lib/app/modules/pengutus_pending_list/widget/pengutus_pending_list_available.dart b/lib/app/modules/pengutus_pending_list/widget/pengutus_pending_list_available.dart index 5229cce3..7fd60b85 100644 --- a/lib/app/modules/pengutus_pending_list/widget/pengutus_pending_list_available.dart +++ b/lib/app/modules/pengutus_pending_list/widget/pengutus_pending_list_available.dart @@ -30,7 +30,7 @@ class PengutusPendingList extends StatelessWidget { visible: true, status: AlertStatus.danger, text: - 'Ini adalah daftar pengajuan yang belum direview oleh kamu, silahkan review secepatnya', + 'Ini adalah daftar pengajuan yang belum diputuskan oleh kamu, silahkan putus secepatnya', isDismissible: true, leadingIcon: Icons.people_outline, borderRadius: const BorderRadius.all( diff --git a/lib/app/modules/pengutus_submit/views/pengutus_submit_view.dart b/lib/app/modules/pengutus_submit/views/pengutus_submit_view.dart index 19c7502e..7a114575 100644 --- a/lib/app/modules/pengutus_submit/views/pengutus_submit_view.dart +++ b/lib/app/modules/pengutus_submit/views/pengutus_submit_view.dart @@ -1,6 +1,7 @@ // 🐦 Flutter imports: import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_analyst_response.dart'; import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_bisnis.dart'; +import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_bottom_navbar.dart'; import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_gallery.dart'; import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_inputan.dart'; import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_karakter.dart'; @@ -9,9 +10,6 @@ import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_response. import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_reviewer_response.dart'; import 'package:akm/app/modules/pengutus_submit/widget/pengutus_submit_usaha.dart'; import 'package:akm/app/modules/reviewer_submit/widget/pengutus_submit_decision.dart'; -import 'package:akm/app/widget/bottomnavbar_button.dart'; -import 'package:akm/app/widget/dialog_box.dart'; -import 'package:akm/app/widget/simple_alert.dart'; import 'package:flutter/material.dart'; // 📦 Package imports: @@ -67,12 +65,12 @@ class PengutusSubmitView extends GetView { ); } + RxBool showButton = false.obs; + @override Widget build(BuildContext context) { ScrollController scrollController = ScrollController(); - RxBool showButton = false.obs; - scrollController.addListener(() { if (scrollController.position.pixels == scrollController.position.maxScrollExtent) { @@ -283,87 +281,11 @@ class PengutusSubmitView extends GetView { ), ), ), - bottomNavigationBar: Obx(() => showButton.value - ? BottomNavBarButtonPink( - text: 'Kirim', - icon: Icons.send, - onPressed: () { - if (controller.formKey.currentState!.saveAndValidate()) { - if (list.isEmpty) { - ErrorDialogPink( - context: context, - title: 'Perhatian', - desc: 'Pastikan tanggapan sudah diisi', - btnOkOnPress: () {}, - ).show(); - } else { - Get.dialog( - NativePromptAlertPink( - title: 'Submit', - content: - 'Tolong double check data yang telah diinputkan, apakah sudah benar ?', - onPressedDanger: () { - Navigator.pop(context); - }, - onPressedSuccess: () { - var list = controller.formKey.currentState!.value; - - // Transform map to list - var list2 = list.entries.toList(); - - // // remove MapEntry and key - list2.removeWhere( - (element) => - element.key == 'pemutus' || - element.key == 'tglPutusan' || - element.key == 'inputan' || - element.key == 'keuangan' || - element.key == 'karakter' || - element.key == 'bisnis' || - element.key == 'usaha' || - element.key == 'agunan' || - element.key == 'berkas' || - element.key == 'putusan', - ); - - // debugPrint('list2: $list2'); - - // Transform list2 to list of string - var list3 = list2.map((e) => e.value).toList(); - - // list3.removeWhere((element) => element.k) - - // transform list3 to string - list3 = list3.map((e) => e.toString()).toList(); - - controller.bahasanPemutus = list3; - - var listFinal = controller.bahasanPemutus; - - debugPrint(listFinal.toString()); - - Navigator.pop(context); - - controller.savePutusan(); - }, - controller: controller, - index: 0, - textDanger: 'TIDAK', - textSuccess: 'YA', - ), - ); - } - } else { - ErrorDialogPink( - context: context, - title: 'Perhatian', - desc: 'Pastikan semua analisa sudah diperiksa', - btnOkOnPress: () {}, - ).show(); - } - }, - ) - : const SizedBox.shrink()), + bottomNavigationBar: PengutusSubmitBottomNavBar( + controller: controller, + listPoints: list, + showButton: showButton, + ), ); } } diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_agunan.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_agunan.dart index f9ded0e5..497d43e9 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_agunan.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_agunan.dart @@ -65,7 +65,7 @@ class PengutusSubmitAgunan extends StatelessWidget { ), const SizedBox(height: 10), Text( - 'Ini merupakan rekapan agunan debitur, pilih ya atau tidak untuk mengirim response ini ke pemutus', + 'Ini merupakan rekapan agunan debitur, pilih ya atau tidak untuk menandai apakah agunan debitur ini sudah layak untuk diberikan pinjaman atau tidak', style: subtitleStyle, ), const SizedBox( diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_bisnis.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_bisnis.dart index e755689e..c7ac2b47 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_bisnis.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_bisnis.dart @@ -66,7 +66,7 @@ class PengutusSubmitBisnis extends StatelessWidget { ), const SizedBox(height: 10), Text( - 'Ini merupakan rekapan bisnis debitur, pilih ya atau tidak untuk mengirim response ini ke pemutus', + 'Ini merupakan rekapan bisnis debitur, pilih ya atau tidak untuk menandai apakah bisnis debitur ini layak untuk diberikan pinjaman atau tidak', style: subtitleStyle, ), const SizedBox(height: 20), diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_bottom_navbar.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_bottom_navbar.dart new file mode 100644 index 00000000..30586c64 --- /dev/null +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_bottom_navbar.dart @@ -0,0 +1,111 @@ +// 🐦 Flutter imports: +import 'package:akm/app/widget/bottomnavbar_button.dart'; +import 'package:akm/app/widget/dialog_box.dart'; +import 'package:akm/app/widget/simple_alert.dart'; +import 'package:flutter/material.dart'; + +// 📦 Package imports: +import 'package:get/get.dart'; + +// 🌎 Project imports: +import '../controllers/pengutus_submit_controller.dart'; + +class PengutusSubmitBottomNavBar extends StatelessWidget { + const PengutusSubmitBottomNavBar({ + super.key, + required this.showButton, + required this.controller, + required this.listPoints, + }); + + final PengutusSubmitController controller; + final RxBool showButton; + final RxList listPoints; + + @override + Widget build(BuildContext context) { + return Obx( + () => showButton.value + ? BottomNavBarButtonPink( + text: 'Kirim', + icon: Icons.send, + onPressed: () { + if (controller.formKey.currentState!.saveAndValidate()) { + if (listPoints.isEmpty) { + ErrorDialogPink( + context: context, + title: 'Perhatian', + desc: 'Pastikan tanggapan sudah diisi', + btnOkOnPress: () {}, + ).show(); + } else { + Get.dialog( + NativePromptAlertPink( + title: 'Submit', + content: + 'Tolong double check data yang telah diinputkan, apakah sudah benar ?', + onPressedDanger: () { + Navigator.pop(context); + }, + onPressedSuccess: () { + var list = controller.formKey.currentState!.value; + + // Transform map to list + var list2 = list.entries.toList(); + + // // remove MapEntry and key + list2.removeWhere( + (element) => + element.key == 'pemutus' || + element.key == 'tglPutusan' || + element.key == 'inputan' || + element.key == 'keuangan' || + element.key == 'karakter' || + element.key == 'bisnis' || + element.key == 'usaha' || + element.key == 'agunan' || + element.key == 'berkas' || + element.key == 'putusan', + ); + + // debugPrint('list2: $list2'); + + // Transform list2 to list of string + var list3 = list2.map((e) => e.value).toList(); + + // list3.removeWhere((element) => element.k) + + // transform list3 to string + list3 = list3.map((e) => e.toString()).toList(); + + controller.bahasanPemutus = list3; + + var listFinal = controller.bahasanPemutus; + + debugPrint(listFinal.toString()); + + Navigator.pop(context); + + controller.savePutusan(); + }, + controller: controller, + index: 0, + textDanger: 'TIDAK', + textSuccess: 'YA', + ), + ); + } + } else { + ErrorDialogPink( + context: context, + title: 'Perhatian', + desc: 'Pastikan semua analisa sudah diperiksa', + btnOkOnPress: () {}, + ).show(); + } + }, + ) + : const SizedBox.shrink(), + ); + } +} diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_inputan.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_inputan.dart index 188ad518..21632e82 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_inputan.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_inputan.dart @@ -43,7 +43,7 @@ class PengutusResultInputSection extends StatelessWidget { ), const SizedBox(height: 10), Text( - 'Ini merupakan hasil inputan debitur yang telah diinputkan oleh analis, dan akan di review oleh anda sebagai reviewer.', + 'Ini merupakan hasil inputan debitur yang telah diinputkan oleh analis, dan sudah di double check oleh reviewer, yang selanjutnya akan diputuskan oleh anda sebagai pemutus.', style: subtitleStyle, ), const SizedBox(height: 10), diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_karakter.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_karakter.dart index 0f2d40dd..2f04b197 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_karakter.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_karakter.dart @@ -65,7 +65,7 @@ class PengutusKarakterSection extends StatelessWidget { ), const SizedBox(height: 10), Text( - 'Ini merupakan rekapan karakter debitur, pilih ya atau tidak untuk mengirim response ini ke pemutus', + 'Ini merupakan rekapan karakter debitur, pilih ya atau tidak untuk menandakan karakter debitur tersebut sesuai atau tidak dengan karakter debitur yang sebenarnya.', style: subtitleStyle, ), const SizedBox(height: 20), diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_keuangan.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_keuangan.dart index 5368b6b1..4128ae52 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_keuangan.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_keuangan.dart @@ -65,7 +65,7 @@ class PengutusKeuanganSection extends StatelessWidget { ), const SizedBox(height: 10), Text( - 'Ini merupakan rekapan keuangan debitur, pilih ya atau tidak untuk mengirim response ini ke pemutus', + 'Ini merupakan rekapan keuangan debitur, pilih ya atau tidak untuk menandai keuangan debitur sudah diisi atau belum', style: subtitleStyle, ), const SizedBox(height: 20), diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_response.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_response.dart index 65a5400d..78212ac2 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_response.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_response.dart @@ -49,7 +49,7 @@ class PengutusSubmitResponse extends StatelessWidget { decoration: InputDecoration( alignLabelWithHint: true, filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Theme.of(context).primaryColor), ), diff --git a/lib/app/modules/pengutus_submit/widget/pengutus_submit_usaha.dart b/lib/app/modules/pengutus_submit/widget/pengutus_submit_usaha.dart index 951d9485..7fd6cbea 100644 --- a/lib/app/modules/pengutus_submit/widget/pengutus_submit_usaha.dart +++ b/lib/app/modules/pengutus_submit/widget/pengutus_submit_usaha.dart @@ -66,7 +66,7 @@ class PengutusSubmitUsaha extends StatelessWidget { height: 10, ), Text( - 'Ini merupakan rekapan jenis usaha debitur, pilih ya atau tidak untuk mengirim response ini ke pemutus', + 'Ini merupakan rekapan jenis usaha debitur, pilih ya atau tidak untuk menandai apakah usaha debitur ini layak untuk diberikan pinjaman atau tidak', style: subtitleStyle, ), const SizedBox(height: 20), diff --git a/lib/app/modules/reviewer_completed_list/widget/reviewer_completed_list_available.dart b/lib/app/modules/reviewer_completed_list/widget/reviewer_completed_list_available.dart index 705b2791..39b1fc5d 100644 --- a/lib/app/modules/reviewer_completed_list/widget/reviewer_completed_list_available.dart +++ b/lib/app/modules/reviewer_completed_list/widget/reviewer_completed_list_available.dart @@ -28,9 +28,9 @@ class ReviewerCompletedList extends StatelessWidget { children: [ BootstrapAlert( visible: true, - status: AlertStatus.danger, + status: AlertStatus.success, text: - 'Ini adalah daftar pengajuan yang belum direview oleh kamu, silahkan review secepatnya', + 'Ini adalah daftar pengajuan yang sudah kamu periksa, status bisa berganti ke DONE atau REJECTED tergantung keputusan dari Pemutus', isDismissible: true, leadingIcon: Icons.people_outline, borderRadius: const BorderRadius.all( diff --git a/lib/app/modules/reviewer_submit/views/reviewer_submit_view.dart b/lib/app/modules/reviewer_submit/views/reviewer_submit_view.dart index 0cdf1172..ffb01690 100644 --- a/lib/app/modules/reviewer_submit/views/reviewer_submit_view.dart +++ b/lib/app/modules/reviewer_submit/views/reviewer_submit_view.dart @@ -30,7 +30,7 @@ import '../controllers/reviewer_submit_controller.dart'; // ignore: must_be_immutable class ReviewerSubmitView extends GetView { - const ReviewerSubmitView({Key? key}) : super(key: key); + ReviewerSubmitView({Key? key}) : super(key: key); String formatDatetime(DateTime date) { return DateFormat('dd MMMM yyyy').format(date); @@ -121,6 +121,8 @@ class ReviewerSubmitView extends GetView { ); } + final list = List.empty(growable: true).obs; + @override Widget build(BuildContext context) { ScrollController scrollController = ScrollController(); @@ -315,6 +317,7 @@ class ReviewerSubmitView extends GetView { ReviewerSubmitResponse( controller: controller, subtitleStyle: subtitleStyle(), + list: list, ), const SizedBox(height: 20), ], @@ -324,12 +327,10 @@ class ReviewerSubmitView extends GetView { ), ), ), - bottomNavigationBar: Obx( - () => showButton.value - ? ReviewerSubmitBottomNavbar( - controller: controller, - ) - : const SizedBox.shrink(), + bottomNavigationBar: ReviewerSubmitBottomNavbar( + controller: controller, + listPoints: list, + showButton: showButton, ), ); } diff --git a/lib/app/modules/reviewer_submit/widget/reviewer_submit_botton_navbar.dart b/lib/app/modules/reviewer_submit/widget/reviewer_submit_botton_navbar.dart index f5366482..6603cf63 100644 --- a/lib/app/modules/reviewer_submit/widget/reviewer_submit_botton_navbar.dart +++ b/lib/app/modules/reviewer_submit/widget/reviewer_submit_botton_navbar.dart @@ -13,81 +13,100 @@ import 'package:get/get.dart'; import '../controllers/reviewer_submit_controller.dart'; class ReviewerSubmitBottomNavbar extends StatelessWidget { - const ReviewerSubmitBottomNavbar({super.key, required this.controller}); + const ReviewerSubmitBottomNavbar( + {super.key, + required this.controller, + required this.showButton, + required this.listPoints}); final ReviewerSubmitController controller; + final RxBool showButton; + final RxList listPoints; @override Widget build(BuildContext context) { - return BottomNavBarButton( - text: 'Kirim', - icon: Icons.send, - onPressed: () { - if (controller.formKey.currentState!.saveAndValidate()) { - // controller.submit(); - debugPrint(controller.formKey.currentState!.value.toString()); - Get.dialog( - NativePromptAlert( - controller: controller, - index: 0, - title: 'Submit', - content: - 'Dengan menekan tombol Ya, data diatas akan dikirim ke pemutus yang dipilih, dan status pengajuan berubah menjadi REVIEWED. Apakah anda yakin?', - onPressedDanger: () { - Navigator.pop(context); + return Obx( + () => showButton.value + ? BottomNavBarButton( + text: 'Kirim', + icon: Icons.send, + onPressed: () { + if (controller.formKey.currentState!.saveAndValidate()) { + debugPrint(controller.formKey.currentState!.value.toString()); + + if (listPoints.isEmpty) { + ErrorDialog( + context: context, + title: 'Perhatian', + desc: 'Pastikan tanggapan sudah diisi', + btnOkOnPress: () {}, + ).show(); + } else { + Get.dialog( + NativePromptAlert( + controller: controller, + index: 0, + title: 'Submit', + content: + 'Dengan menekan tombol Ya, data diatas akan dikirim ke pemutus yang dipilih, dan status pengajuan berubah menjadi REVIEWED. Apakah anda yakin?', + onPressedDanger: () { + Navigator.pop(context); + }, + onPressedSuccess: () { + var list = controller.formKey.currentState!.value; + + // Transform map to list + var list2 = list.entries.toList(); + + // // remove MapEntry and key + list2.removeWhere( + (element) => + element.key == 'pemutus' || + element.key == 'tglReview' || + element.key == 'inputan' || + element.key == 'keuangan' || + element.key == 'karakter' || + element.key == 'bisnis' || + element.key == 'usaha' || + element.key == 'agunan' || + element.key == 'berkas', + ); + + // debugPrint('list2: $list2'); + + // Transform list2 to list of string + var list3 = list2.map((e) => e.value).toList(); + + // list3.removeWhere((element) => element.k) + + // transform list3 to string + list3 = list3.map((e) => e.toString()).toList(); + + controller.bahasanReviewer = list3; + + var listFinal = controller.bahasanReviewer; + + debugPrint(listFinal.toString()); + + Navigator.pop(context); + controller.saveReview(); + }, + textDanger: 'TIDAK', + textSuccess: 'YA', + ), + ); + } + } else { + ErrorDialog( + context: context, + title: 'Perhatian', + desc: 'Pastikan semua analisa sudah diperiksa', + btnOkOnPress: () {}, + ).show(); + } }, - onPressedSuccess: () { - var list = controller.formKey.currentState!.value; - - // Transform map to list - var list2 = list.entries.toList(); - - // // remove MapEntry and key - list2.removeWhere( - (element) => - element.key == 'pemutus' || - element.key == 'tglReview' || - element.key == 'inputan' || - element.key == 'keuangan' || - element.key == 'karakter' || - element.key == 'bisnis' || - element.key == 'usaha' || - element.key == 'agunan' || - element.key == 'berkas', - ); - - // debugPrint('list2: $list2'); - - // Transform list2 to list of string - var list3 = list2.map((e) => e.value).toList(); - - // list3.removeWhere((element) => element.k) - - // transform list3 to string - list3 = list3.map((e) => e.toString()).toList(); - - controller.bahasanReviewer = list3; - - var listFinal = controller.bahasanReviewer; - - debugPrint(listFinal.toString()); - - Navigator.pop(context); - controller.saveReview(); - }, - textDanger: 'TIDAK', - textSuccess: 'YA', - ), - ); - } else { - ErrorDialog( - context: context, - title: 'Perhatian', - desc: 'Pastikan semua analisa sudah diperiksa', - btnOkOnPress: () {}, - ).show(); - } - }, + ) + : const SizedBox.shrink(), ); } } diff --git a/lib/app/modules/reviewer_submit/widget/reviewer_submit_response.dart b/lib/app/modules/reviewer_submit/widget/reviewer_submit_response.dart index 3014f51e..27bbfb98 100644 --- a/lib/app/modules/reviewer_submit/widget/reviewer_submit_response.dart +++ b/lib/app/modules/reviewer_submit/widget/reviewer_submit_response.dart @@ -20,10 +20,12 @@ class ReviewerSubmitResponse extends StatelessWidget { super.key, required this.controller, required this.subtitleStyle, + required this.list, }); final ReviewerSubmitController controller; final TextStyle subtitleStyle; + final RxList list; @override Widget build(BuildContext context) { @@ -48,7 +50,7 @@ class ReviewerSubmitResponse extends StatelessWidget { decoration: InputDecoration( alignLabelWithHint: true, filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: OutlineInputBorder( borderSide: BorderSide(color: Theme.of(context).primaryColor), ), @@ -63,8 +65,6 @@ class ReviewerSubmitResponse extends StatelessWidget { ); } - var list = List.empty(growable: true).obs; - return Container( color: Colors.grey[200], child: Card( diff --git a/lib/app/widget/form/datepicker_field.dart b/lib/app/widget/form/datepicker_field.dart index 78011b55..16d01546 100644 --- a/lib/app/widget/form/datepicker_field.dart +++ b/lib/app/widget/form/datepicker_field.dart @@ -38,7 +38,7 @@ class FleetimeDatePicker extends StatelessWidget { decoration: InputDecoration( hintText: hintText, filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: primaryColor), ), diff --git a/lib/app/widget/form/searchable_dropdown_field.dart b/lib/app/widget/form/searchable_dropdown_field.dart index c3c7641a..50a0e624 100644 --- a/lib/app/widget/form/searchable_dropdown_field.dart +++ b/lib/app/widget/form/searchable_dropdown_field.dart @@ -43,7 +43,7 @@ class FleetimeSearchableDropdown extends StatelessWidget { fontSize: 16, ), filled: true, - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: const OutlineInputBorder( borderSide: BorderSide(color: Colors.grey), ), diff --git a/lib/app/widget/form/text_field.dart b/lib/app/widget/form/text_field.dart index ec97688c..3dc91470 100644 --- a/lib/app/widget/form/text_field.dart +++ b/lib/app/widget/form/text_field.dart @@ -60,7 +60,7 @@ class FleetimeTextField extends StatelessWidget { suffixStyle: const TextStyle( fontSize: 16, ), - fillColor: Colors.grey.shade400, + fillColor: Colors.grey.shade300, focusedBorder: focusedBorder ?? OutlineInputBorder( borderSide: BorderSide(color: Theme.of(context).primaryColor),