From 82d403b210af2135241509cc4bdfa974c25311d3 Mon Sep 17 00:00:00 2001 From: sindhu Date: Fri, 26 Jan 2024 17:11:04 +0700 Subject: [PATCH] step 13 : fix ui based figma, fix isSelfie button di presensi screen & presensi selfie screen --- lib/screen/home/home_screen.dart | 4 +- .../presensi/presensi_selfie_screen.dart | 45 +++++++++++++++---- .../presensi/presensi_selfie_upload_area.dart | 25 +++++++++-- 3 files changed, 59 insertions(+), 15 deletions(-) diff --git a/lib/screen/home/home_screen.dart b/lib/screen/home/home_screen.dart index 8cd0d36..568d4fd 100644 --- a/lib/screen/home/home_screen.dart +++ b/lib/screen/home/home_screen.dart @@ -153,11 +153,11 @@ class HomeScreen extends HookConsumerWidget { if (varCurrentDistanceProvider?.selfie == "TRUE") { ref.read(currentPageProvider.notifier).update((state) => -1); - Navigator.pushNamed(context, presensiSelfieRoute); + Navigator.of(context).pushNamed(presensiSelfieRoute); } else { if (varCurrentDistanceProvider?.selfie == "FALSE") { ref.read(currentPageProvider.notifier).update((state) => -1); - Navigator.pushNamed(context, presensiRoute); + Navigator.of(context).pushNamed(presensiRoute); } } } diff --git a/lib/screen/presensi/presensi_selfie_screen.dart b/lib/screen/presensi/presensi_selfie_screen.dart index 71a33b5..152b3e9 100644 --- a/lib/screen/presensi/presensi_selfie_screen.dart +++ b/lib/screen/presensi/presensi_selfie_screen.dart @@ -381,7 +381,8 @@ class PresensiSelfieScreen extends HookConsumerWidget { T_TransactionCurrentLongitude, "T_TransactionCurrentDistance": T_TransactionCurrentDistance, - "T_TransactionSelfiePhoto": "data:image/jpeg;base64,$T_TransactionSelfiePhoto", + "T_TransactionSelfiePhoto": + "data:image/jpeg;base64,$T_TransactionSelfiePhoto", "token": token, "isSelfie": "TRUE" }; @@ -672,7 +673,8 @@ class PresensiSelfieScreen extends HookConsumerWidget { // upload file if (varCurrentCheckJamProvider?.isAbsenClockIn == "TRUE" && - varCurrentCheckJamProvider?.isAbsenClockOut == "TRUE") ...[ + varCurrentCheckJamProvider?.isAbsenClockOut == + "TRUE") ...[ SizedBox.shrink() ] else ...[ if (varCurrentCheckJamProvider?.isAbsenClockIn == "FALSE" && @@ -715,15 +717,28 @@ class PresensiSelfieScreen extends HookConsumerWidget { // button clock in dan clock out if (varCurrentCheckJamProvider?.isAbsenClockIn == "TRUE" && - varCurrentCheckJamProvider?.isAbsenClockOut == "TRUE") ...[ + varCurrentCheckJamProvider?.isAbsenClockOut == + "TRUE") ...[ SizedBox.shrink() ] else ...[ if (varCurrentCheckJamProvider?.isAbsenClockIn == "FALSE" && varCurrentCheckJamProvider?.jamClockIn == "") ...[ // gambar icon presensi clock in (isLoadingAddressUserLocation.value) - ? Center( - child: CircularProgressIndicator(), + ? Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone( + context: context, x: 20), + right: Constant.getActualXPhone( + context: context, x: 20), + top: Constant.getActualYPhone( + context: context, y: 24), + bottom: Constant.getActualYPhone( + context: context, y: 24), + ), + child: Center( + child: CircularProgressIndicator(), + ), ) : Padding( padding: EdgeInsets.only( @@ -831,10 +846,7 @@ class PresensiSelfieScreen extends HookConsumerWidget { "TRUE" && varCurrentCheckJamProvider?.jamClockIn != "") ...[ (isLoadingAddressUserLocation.value) - ? Center( - child: CircularProgressIndicator(), - ) - : Padding( + ? Padding( padding: EdgeInsets.only( left: Constant.getActualXPhone( context: context, x: 20), @@ -845,6 +857,21 @@ class PresensiSelfieScreen extends HookConsumerWidget { bottom: Constant.getActualYPhone( context: context, y: 24), ), + child: Center( + child: CircularProgressIndicator(), + ), + ) + : Padding( + padding: EdgeInsets.only( + left: Constant.getActualXPhone( + context: context, x: 20), + right: Constant.getActualXPhone( + context: context, x: 20), + top: Constant.getActualYPhone( + context: context, y: 24), + // bottom: Constant.getActualYPhone( + // context: context, y: 24), + ), child: SizedBox( width: Constant.getActualXPhone( context: context, x: 390), diff --git a/lib/screen/presensi/presensi_selfie_upload_area.dart b/lib/screen/presensi/presensi_selfie_upload_area.dart index 72c7286..50f64c2 100644 --- a/lib/screen/presensi/presensi_selfie_upload_area.dart +++ b/lib/screen/presensi/presensi_selfie_upload_area.dart @@ -102,7 +102,10 @@ class PresensiSelfieUploadAreaWidget extends StatelessWidget { width: Constant.getActualXPhone(context: context, x: 390), height: Constant.getActualYPhone( context: context, y: isImage.value ? 200 : 83), - decoration: BoxDecoration(color: Constant.bgUploadFile), + decoration: BoxDecoration( + color: Constant.bgUploadFile, + borderRadius: BorderRadius.circular(8), + ), child: Builder(builder: (context) { final String? mime = lookupMimeType(fileData.value?.path ?? ""); return Semantics( @@ -151,9 +154,23 @@ class PresensiSelfieUploadAreaWidget extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.center, children: [ - Icon( - Icons.upload_outlined, - color: Constant.textOrange, + // Icon( + // Icons.upload_outlined, + // color: Constant.textOrange, + // ), + + Image.asset( + 'images/camera_selfie.png', // Path gambar untuk "Check In" + width: Constant.getActualXPhone( + context: context, x: 24), + height: Constant.getActualYPhone( + context: context, y: 24), + ), + SizedBox( + height: Constant.getActualYPhone( + context: context, + y: 4, + ), ), Text( 'Upload File',