step 12 : add userId di home dan proses upload file

This commit is contained in:
sindhu
2025-02-17 07:16:25 +07:00
parent 0c318136e9
commit 5120ebe827
5 changed files with 24 additions and 14 deletions

View File

@@ -1,12 +1,12 @@
import 'dart:convert';
import 'dart:io';
import 'dart:typed_data';
import 'package:camera/camera.dart';
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 'package:image/image.dart' as img;
import 'package:scanktpflutter/app/route.dart';
import '../../app/constant.dart';
import '../../provider/current_user_provider.dart';
@@ -30,6 +30,7 @@ class ScanScreen extends HookConsumerWidget {
final isLoadingUpload = useState<bool>(false);
final currentUser = ref.watch(currentUserProvider);
final host = currentUser?.host ?? "";
final userId = currentUser?.model.userId ?? "";
useEffect(() {
Future<void> initializeCamera() async {
@@ -114,6 +115,7 @@ class ScanScreen extends HookConsumerWidget {
ref.read(uploadScanProvider.notifier).uploadScan(
host: host,
base64File: base64String,
userId: userId,
);
} catch (e) {
print("Error capturing image: $e");
@@ -144,6 +146,8 @@ class ScanScreen extends HookConsumerWidget {
snackbarType.success,
Duration(seconds: 3),
);
Navigator.of(context)
.pushNamedAndRemoveUntil(homeRoute, (route) => false);
}
});
@@ -170,7 +174,7 @@ class ScanScreen extends HookConsumerWidget {
context,
'Sedang Proses Gambar...',
snackbarType.warning,
Duration(seconds: 3),
Duration(seconds: 5),
);
}
});

View File

@@ -1,15 +1,8 @@
import 'dart:convert';
import 'package:equatable/equatable.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:scanktpflutter/repository/scan_repository.dart';
import 'package:shared_preferences/shared_preferences.dart';
import '../../app/constant.dart';
import '../../model/auth_model.dart';
import '../../provider/current_user_provider.dart';
import '../../provider/dio_provider.dart';
import '../../repository/auth_repository.dart';
import '../../repository/base_repository.dart';
// 3. state provider
@@ -22,6 +15,7 @@ class UploadScanNotifier extends StateNotifier<UploadScanState> {
UploadScanNotifier({required this.ref}) : super(UploadScanStateInit());
void uploadScan({
required String host,
required String userId,
required String base64File,
}) async {
try {
@@ -31,6 +25,7 @@ class UploadScanNotifier extends StateNotifier<UploadScanState> {
).prosesScan(
host: host,
base64File: base64File,
userId: userId,
);
// print(resp);