Tambahkan dukungan image picker dan izin kamera untuk upload bukti serah terima

- Tambahkan paket image_picker untuk mengambil foto
- Perbarui AndroidManifest.xml dan Info.plist untuk izin kamera dan galeri
- Tambahkan metode pickfotoBuktiSerahTerima di PenitipanBantuanController
- Buat dialog verifikasi dengan fitur upload foto bukti serah terima
- Perbarui model PenitipanBantuanModel untuk mendukung foto bukti
- Integrasikan upload file ke Supabase storage
This commit is contained in:
Khafidh Fuadi
2025-03-12 07:00:27 +07:00
parent f7397cb9cf
commit 9995239115
21 changed files with 1259 additions and 184 deletions

View File

@ -1,19 +1,17 @@
import 'dart:convert';
class SumberBantuanModel {
final String id;
final String nama;
final String? id;
final String? nama;
final String? deskripsi;
final String? kategori; // Contoh: 'pemerintah', 'swasta', 'masyarakat'
final DateTime createdAt;
final DateTime? createdAt;
final DateTime? updatedAt;
SumberBantuanModel({
required this.id,
required this.nama,
this.id,
this.nama,
this.deskripsi,
this.kategori,
required this.createdAt,
this.createdAt,
this.updatedAt,
});
@ -27,19 +25,19 @@ class SumberBantuanModel {
id: json["id"],
nama: json["nama"],
deskripsi: json["deskripsi"],
kategori: json["kategori"],
createdAt: DateTime.parse(json["created_at"]),
updatedAt: json["updated_at"] == null
? null
: DateTime.parse(json["updated_at"]),
createdAt: json["created_at"] != null
? DateTime.parse(json["created_at"])
: null,
updatedAt: json["updated_at"] != null
? DateTime.parse(json["updated_at"])
: null,
);
Map<String, dynamic> toJson() => {
"id": id,
"nama": nama,
"deskripsi": deskripsi,
"kategori": kategori,
"created_at": createdAt.toIso8601String(),
"created_at": createdAt?.toIso8601String(),
"updated_at": updatedAt?.toIso8601String(),
};
}