Tambahkan fungsionalitas untuk mengelola feedback dan rating pengaduan. Perbarui model PengaduanModel dan TindakanPengaduanModel untuk menyertakan properti baru feedbackWarga dan ratingWarga. Modifikasi tampilan di WargaDetailPengaduanView dan DetailPengaduanView untuk menampilkan dan mengumpulkan feedback dari warga. Implementasikan metode baru di WargaDashboardController dan SupabaseService untuk menambahkan dan memperbarui feedback pengaduan.

This commit is contained in:
Khafidh Fuadi
2025-03-17 19:21:38 +07:00
parent 82efe9d2aa
commit aa73508108
10 changed files with 1025 additions and 301 deletions

View File

@ -13,6 +13,8 @@ class PengaduanModel {
final DateTime? updatedAt;
final Map<String, dynamic>? penerimaPenyaluran;
final Map<String, dynamic>? warga;
final String? feedbackWarga;
final int? ratingWarga;
PengaduanModel({
this.id,
@ -27,6 +29,8 @@ class PengaduanModel {
this.updatedAt,
this.penerimaPenyaluran,
this.warga,
this.feedbackWarga,
this.ratingWarga,
});
factory PengaduanModel.fromRawJson(String str) =>
@ -53,6 +57,8 @@ class PengaduanModel {
: null,
penerimaPenyaluran: json["penerima_penyaluran"],
warga: json["warga"],
feedbackWarga: json["feedback_warga"],
ratingWarga: json["rating_warga"],
);
Map<String, dynamic> toJson() => {
@ -68,6 +74,8 @@ class PengaduanModel {
"updated_at": updatedAt?.toIso8601String(),
"penerima_penyaluran": penerimaPenyaluran,
"warga": warga,
"feedback_warga": feedbackWarga,
"rating_warga": ratingWarga,
};
// Getter untuk mendapatkan informasi penyaluran bantuan

View File

@ -18,8 +18,6 @@ class TindakanPengaduanModel {
final DateTime? createdAt;
final DateTime? updatedAt;
final double? biayaTindakan;
final String? feedbackWarga;
final int? ratingWarga;
final Map<String, dynamic>? petugas; // Data petugas yang melakukan tindakan
final Map<String, dynamic>? verifikator; // Data petugas yang memverifikasi
@ -41,8 +39,6 @@ class TindakanPengaduanModel {
this.createdAt,
this.updatedAt,
this.biayaTindakan,
this.feedbackWarga,
this.ratingWarga,
this.petugas,
this.verifikator,
});
@ -83,8 +79,6 @@ class TindakanPengaduanModel {
biayaTindakan: json["biaya_tindakan"] != null
? double.parse(json["biaya_tindakan"].toString())
: null,
feedbackWarga: json["feedback_warga"],
ratingWarga: json["rating_warga"],
petugas: json["petugas"],
verifikator: json["verifikator"],
);
@ -107,8 +101,6 @@ class TindakanPengaduanModel {
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
"biaya_tindakan": biayaTindakan,
"feedback_warga": feedbackWarga,
"rating_warga": ratingWarga,
"petugas": petugas,
"verifikator": verifikator,
};