step 20 : load list riwayat ketika proses sukses, display duration scan 3 detik

This commit is contained in:
sindhu
2025-02-19 13:18:52 +07:00
parent 952934ed67
commit 8018bd89c6
9 changed files with 153 additions and 43 deletions

View File

@@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart';
import '../../model/person_ktp_model.dart';
import '../../provider/scan_provider.dart';
import '../../screen/home/card_riwayat_scan.dart';
import '../../screen/home/list_riwayat_scan_provider.dart';
@@ -24,9 +24,7 @@ class HomeScreen extends HookConsumerWidget {
// final username = currentUser?.model.username ?? "-";
final host = currentUser?.host ?? "";
final isLoading = useState<bool>(false);
final listScanArr = useState<List<PersonKtp>>(
List.empty(growable: true),
);
final listScanArr = ref.watch(listScanRwt);
final userId = currentUser?.model.userId ?? "";
useEffect(() {
@@ -57,7 +55,6 @@ class HomeScreen extends HookConsumerWidget {
);
} else if (next is ListRiwayatScanStateDone) {
isLoading.value = false;
listScanArr.value = next.model;
}
});
@@ -212,7 +209,7 @@ class HomeScreen extends HookConsumerWidget {
),
)
// belum ada riwayat
else if (listScanArr.value.isEmpty)
else if (listScanArr.isEmpty)
Expanded(
child: RefreshIndicator(
color: Constant.bgButton,
@@ -260,9 +257,9 @@ class HomeScreen extends HookConsumerWidget {
child: ListView.builder(
physics: AlwaysScrollableScrollPhysics(),
shrinkWrap: true,
itemCount: listScanArr.value.length,
itemCount: listScanArr.length,
itemBuilder: (context, i) {
final obj = listScanArr.value[i];
final obj = listScanArr[i];
return Padding(
padding: EdgeInsets.only(
top: Constant.getActualYPhone(

View File

@@ -1,5 +1,6 @@
import 'package:equatable/equatable.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import '../../provider/scan_provider.dart';
import '../../repository/scan_repository.dart';
import '../../model/person_ktp_model.dart';
@@ -24,13 +25,11 @@ class ListRiwayatScanNotifier extends StateNotifier<ListRiwayatScanState> {
state = ListRiwayatScanStateLoading();
final resp = await ScanRepository(
dio: ref.read(dioProvider),
).listRiwayatScanRepo(
host: host,
userId:userId
);
).listRiwayatScanRepo(host: host, userId: userId);
// print(resp);
state = ListRiwayatScanStateDone(model: resp);
ref.read(listScanRwt.notifier).state = resp;
} catch (e) {
if (e is BaseRepositoryException) {
state = ListRiwayatScanStateError(message: e.message);