Perbarui dependensi dan konfigurasi lokal untuk mendukung fitur baru

- Tambahkan dependensi baru: syncfusion_flutter_calendar, syncfusion_localizations, dan flutter_localizations di pubspec.yaml
- Perbarui konfigurasi lokal di main.dart untuk mendukung bahasa Indonesia dan menambahkan delegasi lokal
- Modifikasi model PenyaluranBantuan untuk memastikan format tanggal menggunakan UTC
- Perbarui tampilan dan logika di beberapa widget untuk meningkatkan pengalaman pengguna dan konsistensi data
- Ganti posisi snack bar dari bawah ke atas untuk notifikasi yang lebih baik
This commit is contained in:
Khafidh Fuadi
2025-03-14 08:09:54 +07:00
parent b0310103fe
commit 7c94b85434
25 changed files with 2187 additions and 309 deletions

View File

@ -0,0 +1,67 @@
import 'dart:convert';
class PenerimaPenyaluranModel {
final int? id;
final DateTime? createdAt;
final String? penyaluranBantuanId;
final String? wargaId;
final String? statusPenerimaan;
final DateTime? tanggalPenerimaan;
final String? buktiPenerimaan;
final String? keterangan;
final double? jumlahBantuan;
final String? stokBantuanId;
final Map<String, dynamic>? warga; // Data warga yang terkait
PenerimaPenyaluranModel({
this.id,
this.createdAt,
this.penyaluranBantuanId,
this.wargaId,
this.statusPenerimaan,
this.tanggalPenerimaan,
this.buktiPenerimaan,
this.keterangan,
this.jumlahBantuan,
this.stokBantuanId,
this.warga,
});
factory PenerimaPenyaluranModel.fromRawJson(String str) =>
PenerimaPenyaluranModel.fromJson(json.decode(str));
String toRawJson() => json.encode(toJson());
factory PenerimaPenyaluranModel.fromJson(Map<String, dynamic> json) =>
PenerimaPenyaluranModel(
id: json["id"],
createdAt: json["created_at"] != null
? DateTime.parse(json["created_at"])
: null,
penyaluranBantuanId: json["penyaluran_bantuan_id"],
wargaId: json["warga_id"],
statusPenerimaan: json["status_penerimaan"],
tanggalPenerimaan: json["tanggal_penerimaan"] != null
? DateTime.parse(json["tanggal_penerimaan"])
: null,
buktiPenerimaan: json["bukti_penerimaan"],
keterangan: json["keterangan"],
jumlahBantuan: json["jumlah_bantuan"]?.toDouble(),
stokBantuanId: json["stok_bantuan_id"],
warga: json["warga"],
);
Map<String, dynamic> toJson() => {
"id": id,
"created_at": createdAt?.toIso8601String(),
"penyaluran_bantuan_id": penyaluranBantuanId,
"warga_id": wargaId,
"status_penerimaan": statusPenerimaan,
"tanggal_penerimaan": tanggalPenerimaan?.toIso8601String(),
"bukti_penerimaan": buktiPenerimaan,
"keterangan": keterangan,
"jumlah_bantuan": jumlahBantuan,
"stok_bantuan_id": stokBantuanId,
"warga": warga,
};
}

View File

@ -50,22 +50,22 @@ class PenyaluranBantuanModel {
status: json["status"],
alasanPenolakan: json["alasan_penolakan"],
tanggalPenjadwalan: json["tanggal_penjadwalan"] != null
? DateTime.parse(json["tanggal_penjadwalan"])
? DateTime.parse(json["tanggal_penjadwalan"]).toUtc()
: null,
tanggalPenyaluran: json["tanggal_penyaluran"] != null
? DateTime.parse(json["tanggal_penyaluran"])
? DateTime.parse(json["tanggal_penyaluran"]).toUtc()
: null,
kategoriBantuanId: json["kategori_bantuan_id"],
tanggalPermintaan: json["tanggal_permintaan"] != null
? DateTime.parse(json["tanggal_permintaan"])
? DateTime.parse(json["tanggal_permintaan"]).toUtc()
: null,
jumlahPenerima: json["jumlah_penerima"],
skemaId: json["skema_id"],
createdAt: json["created_at"] != null
? DateTime.parse(json["created_at"])
? DateTime.parse(json["created_at"]).toUtc()
: null,
updatedAt: json["updated_at"] != null
? DateTime.parse(json["updated_at"])
? DateTime.parse(json["updated_at"]).toUtc()
: null,
);
@ -77,13 +77,13 @@ class PenyaluranBantuanModel {
"petugas_id": petugasId,
"status": status,
"alasan_penolakan": alasanPenolakan,
"tanggal_penjadwalan": tanggalPenjadwalan?.toIso8601String(),
"tanggal_penyaluran": tanggalPenyaluran?.toIso8601String(),
"tanggal_penjadwalan": tanggalPenjadwalan?.toUtc().toIso8601String(),
"tanggal_penyaluran": tanggalPenyaluran?.toUtc().toIso8601String(),
"kategori_bantuan_id": kategoriBantuanId,
"tanggal_permintaan": tanggalPermintaan?.toIso8601String(),
"tanggal_permintaan": tanggalPermintaan?.toUtc().toIso8601String(),
"jumlah_penerima": jumlahPenerima,
"skema_id": skemaId,
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
"created_at": createdAt?.toUtc().toIso8601String(),
"updated_at": updatedAt?.toUtc().toIso8601String(),
};
}