Perbarui beberapa file konfigurasi fingerprint untuk arsitektur arm64-v8a, armeabi-v7a, x86, dan x86_64. Modifikasi model SkemaBantuan untuk menggunakan operator null-aware pada jumlah diterima per orang. Perbarui logika pengambilan data di AuthProvider untuk menyederhanakan pengecekan dan logging. Tambahkan fungsionalitas baru di DonaturDashboardController untuk mengunggah foto bantuan dan memperbarui data yang disimpan. Hapus tampilan yang tidak digunakan di DonaturRiwayatPenitipanView dan perbarui tampilan di beberapa view untuk meningkatkan pengalaman pengguna.
This commit is contained in:
@ -1,6 +1,5 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:penyaluran_app/app/routes/app_pages.dart';
|
||||
import 'package:penyaluran_app/app/utils/date_time_helper.dart';
|
||||
import 'package:percent_indicator/circular_percent_indicator.dart';
|
||||
|
@ -1,7 +1,6 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:penyaluran_app/app/modules/petugas_desa/controllers/donatur_controller.dart';
|
||||
import 'package:penyaluran_app/app/theme/app_theme.dart';
|
||||
import 'package:penyaluran_app/app/data/models/donatur_model.dart';
|
||||
import 'package:penyaluran_app/app/data/models/penitipan_bantuan_model.dart';
|
||||
import 'package:penyaluran_app/app/widgets/dialogs/detail_penitipan_dialog.dart';
|
||||
|
@ -2,7 +2,6 @@ import 'package:flutter/material.dart';
|
||||
import 'package:get/get.dart';
|
||||
import 'package:penyaluran_app/app/modules/petugas_desa/controllers/penerima_controller.dart';
|
||||
import 'package:penyaluran_app/app/theme/app_theme.dart';
|
||||
import 'package:intl/intl.dart';
|
||||
import 'package:penyaluran_app/app/utils/date_time_helper.dart';
|
||||
|
||||
class DetailPenerimaView extends GetView<PenerimaController> {
|
||||
|
@ -743,10 +743,10 @@ class _KonfirmasiPenerimaPageState extends State<KonfirmasiPenerimaPage> {
|
||||
|
||||
// Hapus file sementara sebelum navigasi
|
||||
try {
|
||||
if (signatureFile != null && signatureFile.existsSync()) {
|
||||
if (signatureFile.existsSync()) {
|
||||
await signatureFile.delete();
|
||||
}
|
||||
if (tempDir != null && tempDir.existsSync()) {
|
||||
if (tempDir.existsSync()) {
|
||||
await tempDir.delete();
|
||||
}
|
||||
} catch (e) {
|
||||
|
@ -632,18 +632,26 @@ class PenitipanView extends GetView<PenitipanBantuanController> {
|
||||
mainAxisAlignment: MainAxisAlignment.center,
|
||||
children: [
|
||||
Icon(
|
||||
Icons.camera_alt,
|
||||
Icons.add_photo_alternate,
|
||||
size: 48,
|
||||
color: Colors.grey.shade600,
|
||||
),
|
||||
const SizedBox(height: 8),
|
||||
Text(
|
||||
'Ambil Foto',
|
||||
'Pilih Foto',
|
||||
style: TextStyle(
|
||||
color: Colors.grey.shade600,
|
||||
fontWeight: FontWeight.bold,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 4),
|
||||
Text(
|
||||
'Kamera atau Galeri',
|
||||
style: TextStyle(
|
||||
color: Colors.grey.shade600,
|
||||
fontSize: 12,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
|
@ -426,7 +426,9 @@ class StokBantuanView extends GetView<StokBantuanController> {
|
||||
context,
|
||||
icon: Icons.access_time,
|
||||
label: 'Terakhir Diperbarui',
|
||||
value: DateTimeHelper.formatDateTime(item.updatedAt),
|
||||
value: item.updatedAt != null
|
||||
? '${item.updatedAt!.day}/${item.updatedAt!.month}/${item.updatedAt!.year} ${item.updatedAt!.hour}:${item.updatedAt!.minute}'
|
||||
: 'Tidak ada data',
|
||||
),
|
||||
),
|
||||
],
|
||||
|
@ -90,29 +90,20 @@ class TambahPenyaluranView extends GetView<JadwalPenyaluranController> {
|
||||
|
||||
print('stokData $stokData');
|
||||
|
||||
if (stokData != null) {
|
||||
namaStokBantuan.value =
|
||||
stokData['nama'] ?? 'Nama stok tidak tersedia';
|
||||
satuanStokBantuan.value = stokData['satuan'] ?? 'Tidak ada satuan';
|
||||
isUang.value = stokData['is_uang'] ?? false;
|
||||
namaStokBantuan.value = stokData['nama'] ?? 'Nama stok tidak tersedia';
|
||||
satuanStokBantuan.value = stokData['satuan'] ?? 'Tidak ada satuan';
|
||||
isUang.value = stokData['is_uang'] ?? false;
|
||||
|
||||
// Ambil jumlah stok tersedia
|
||||
if (stokData['total_stok'] != null) {
|
||||
totalStokTersedia.value = stokData['total_stok'].toDouble();
|
||||
} else {
|
||||
totalStokTersedia.value = 0;
|
||||
}
|
||||
|
||||
// Periksa kecukupan stok
|
||||
isStokCukup.value =
|
||||
totalStokTersedia.value >= totalStokDibutuhkan.value;
|
||||
// Ambil jumlah stok tersedia
|
||||
if (stokData['total_stok'] != null) {
|
||||
totalStokTersedia.value = stokData['total_stok'].toDouble();
|
||||
} else {
|
||||
namaStokBantuan.value = 'Stok tidak ditemukan';
|
||||
satuanStokBantuan.value = '';
|
||||
totalStokTersedia.value = 0;
|
||||
isStokCukup.value = false;
|
||||
isUang.value = false;
|
||||
}
|
||||
|
||||
// Periksa kecukupan stok
|
||||
isStokCukup.value =
|
||||
totalStokTersedia.value >= totalStokDibutuhkan.value;
|
||||
} catch (e) {
|
||||
print('Error loading stok bantuan: $e');
|
||||
namaStokBantuan.value = 'Error memuat data stok';
|
||||
|
Reference in New Issue
Block a user