Perbarui model dan tampilan untuk mendukung fungsionalitas QR code dalam proses verifikasi penerima. Tambahkan properti qrCodeHash pada PenerimaPenyaluranModel dan implementasikan metode verifikasi QR code di DetailPenyaluranController. Modifikasi tampilan di WargaDetailPenerimaanView dan DetailPenyaluranPage untuk menampilkan QR code dan menambahkan fungsionalitas pemindaian QR code. Perbarui rute aplikasi untuk mendukung navigasi ke halaman pemindaian QR code dan konfirmasi penerima.

This commit is contained in:
Khafidh Fuadi
2025-03-19 13:11:24 +07:00
parent 984b8336f0
commit 0597f0aea0
19 changed files with 839 additions and 263 deletions

View File

@ -15,6 +15,8 @@ import 'package:penyaluran_app/app/modules/petugas_desa/views/detail_penyaluran_
import 'package:penyaluran_app/app/modules/petugas_desa/bindings/penyaluran_binding.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/views/riwayat_pengaduan_view.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/bindings/riwayat_pengaduan_binding.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/views/qr_scanner_page.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/views/konfirmasi_penerima_page.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/bindings/penerima_binding.dart';
import 'package:penyaluran_app/app/modules/petugas_desa/bindings/donatur_binding.dart';
@ -146,5 +148,18 @@ class AppPages {
page: () => const RiwayatPengaduanView(),
binding: RiwayatPengaduanBinding(),
),
GetPage(
name: _Paths.qrScanner,
page: () => QrScannerPage(penyaluranId: Get.parameters['id'] ?? ''),
binding: PenyaluranBinding(),
),
GetPage(
name: _Paths.konfirmasiPenerimaQr,
page: () => KonfirmasiPenerimaPage(
penerima: Get.arguments['penerima'],
tanggalPenyaluran: Get.arguments['tanggal_penyaluran'],
),
binding: PenyaluranBinding(),
),
];
}

View File

@ -31,6 +31,8 @@ abstract class Routes {
static const detailPengaduan = _Paths.detailPengaduan;
static const wargaDetailPengaduan = _Paths.wargaDetailPengaduan;
static const riwayatPengaduan = _Paths.riwayatPengaduan;
static const qrScanner = _Paths.qrScanner;
static const konfirmasiPenerimaQr = _Paths.konfirmasiPenerimaQr;
}
abstract class _Paths {
@ -64,4 +66,6 @@ abstract class _Paths {
static const detailPengaduan = '/detail-pengaduan';
static const wargaDetailPengaduan = '/warga/detail-pengaduan';
static const riwayatPengaduan = '/petugas-desa/riwayat-pengaduan';
static const qrScanner = '/petugas-desa/qr-scanner';
static const konfirmasiPenerimaQr = '/petugas-desa/konfirmasi-penerima/:id';
}