Tambahkan fitur penitipan dan perbarui tampilan modul Petugas Desa

- Tambahkan logika dan tampilan untuk manajemen penitipan bantuan
- Perbarui kontroler PetugasDesaController dengan metode loadPenitipanData()
- Tambahkan view PenitipanView untuk menampilkan daftar penitipan
- Integrasikan penitipan ke dalam drawer dan bottom navigation
- Tambahkan indikator jumlah penitipan yang menunggu verifikasi
This commit is contained in:
Khafidh Fuadi
2025-03-08 17:40:36 +07:00
parent 10ed95b3ac
commit 45ff26e7f8
6 changed files with 1007 additions and 190 deletions

View File

@ -8,8 +8,6 @@ class InventarisView extends GetView<PetugasDesaController> {
@override
Widget build(BuildContext context) {
final textTheme = Theme.of(context).textTheme;
return SingleChildScrollView(
child: Padding(
padding: const EdgeInsets.all(16.0),
@ -39,7 +37,7 @@ class InventarisView extends GetView<PetugasDesaController> {
width: double.infinity,
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: AppTheme.primaryColor.withOpacity(0.1),
gradient: AppTheme.primaryGradient,
borderRadius: BorderRadius.circular(12),
),
child: Column(
@ -49,6 +47,7 @@ class InventarisView extends GetView<PetugasDesaController> {
'Ringkasan Inventaris',
style: Theme.of(context).textTheme.titleLarge?.copyWith(
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
const SizedBox(height: 16),
@ -60,7 +59,6 @@ class InventarisView extends GetView<PetugasDesaController> {
icon: Icons.inventory_2_outlined,
title: 'Total Stok',
value: '1,250 kg',
color: Colors.blue,
),
),
Expanded(
@ -69,7 +67,6 @@ class InventarisView extends GetView<PetugasDesaController> {
icon: Icons.input,
title: 'Masuk Bulan Ini',
value: '500 kg',
color: Colors.green,
),
),
Expanded(
@ -78,7 +75,6 @@ class InventarisView extends GetView<PetugasDesaController> {
icon: Icons.output,
title: 'Keluar Bulan Ini',
value: '350 kg',
color: Colors.orange,
),
),
],
@ -93,19 +89,18 @@ class InventarisView extends GetView<PetugasDesaController> {
required IconData icon,
required String title,
required String value,
required Color color,
}) {
return Column(
children: [
Container(
padding: const EdgeInsets.all(10),
decoration: BoxDecoration(
color: color.withOpacity(0.2),
color: Colors.white.withOpacity(0.2),
shape: BoxShape.circle,
),
child: Icon(
icon,
color: color,
color: Colors.white,
size: 24,
),
),
@ -114,12 +109,15 @@ class InventarisView extends GetView<PetugasDesaController> {
value,
style: Theme.of(context).textTheme.titleMedium?.copyWith(
fontWeight: FontWeight.bold,
color: Colors.white,
),
),
const SizedBox(height: 4),
Text(
title,
style: Theme.of(context).textTheme.bodySmall,
style: Theme.of(context).textTheme.bodySmall?.copyWith(
color: Colors.white,
),
textAlign: TextAlign.center,
),
],