Perbarui binding dan controller untuk manajemen penitipan bantuan

- Perbarui PetugasDesaBinding untuk menggunakan Get.lazyPut pada controller
- Tambahkan listener pencarian donatur di PenitipanBantuanController
- Perbaiki logika pencarian dan tampilan daftar penitipan di PenitipanView
- Tambahkan rute dan tampilan untuk riwayat penitipan di aplikasi
This commit is contained in:
Khafidh Fuadi
2025-03-12 21:48:36 +07:00
parent add585fe23
commit d8bf361d21
7 changed files with 751 additions and 30 deletions

View File

@ -51,7 +51,7 @@ class PenitipanBantuanController extends GetxController {
final TextEditingController searchController = TextEditingController();
// Tambahkan properti untuk waktu terakhir update
Rx<DateTime> lastUpdateTime = DateTime.now().obs;
final Rx<DateTime> lastUpdateTime = DateTime.now().obs;
UserModel? get user => _authController.user;
@ -76,6 +76,15 @@ class PenitipanBantuanController extends GetxController {
Future.delayed(const Duration(seconds: 1), () {
loadAllPetugasDesaData();
});
// Listener untuk pencarian donatur
donaturSearchController.addListener(() {
if (donaturSearchController.text.length >= 3) {
searchDonatur(donaturSearchController.text);
} else {
hasilPencarianDonatur.clear();
}
});
}
@override
@ -132,7 +141,7 @@ class PenitipanBantuanController extends GetxController {
// Debug: print semua data petugas desa yang sudah dimuat
print('Data petugas desa yang sudah dimuat:');
petugasDesaCache.forEach((key, value) {
print('ID: $key, Nama: ${value['name']}');
print('ID: $key, Nama: $value');
});
// Update waktu terakhir refresh
@ -588,7 +597,7 @@ class PenitipanBantuanController extends GetxController {
// Debug: print semua data petugas desa yang sudah dimuat
print('Data petugas desa yang sudah dimuat setelah reload:');
petugasDesaCache.forEach((key, value) {
print('ID: $key, Nama: ${value['name']}');
print('ID: $key, Nama: $value');
});
} catch (e) {
print('Error saat memuat ulang data petugas desa: $e');
@ -689,6 +698,11 @@ class PenitipanBantuanController extends GetxController {
ditolak: ditolak,
);
// Update counter lokal
jumlahMenunggu.value = menunggu;
jumlahTerverifikasi.value = terverifikasi;
jumlahDitolak.value = ditolak;
// Debug counter values
print(
'Counter updated - Menunggu: $menunggu, Terverifikasi: $terverifikasi, Ditolak: $ditolak');