import 'package:flutter/material.dart'; import '../repositories/face_repository.dart'; import '../repositories/signature_repository.dart'; class SetupCheckProvider extends ChangeNotifier { final FaceRepository _faceRepository = FaceRepository(); final SignatureRepository _signatureRepository = SignatureRepository(); bool _isLoading = false; bool _hasFace = false; bool _hasSignature = false; bool _hasError = false; bool get isLoading => _isLoading; bool get hasFace => _hasFace; bool get hasSignature => _hasSignature; bool get hasError => _hasError; Future checkSetup() async { _isLoading = true; _hasError = false; notifyListeners(); try { final results = await Future.wait([ _faceRepository.getFaceStatus(), _signatureRepository.getActiveSignature(), ]); final faceData = results[0]; final signatureData = results[1]; _hasFace = faceData['is_registered'] == true && faceData['status'] != 'rejected'; if (signatureData['error'] == true) { _hasError = true; _hasSignature = true; } else { _hasSignature = signatureData['success'] == true && signatureData['data'] != null; } } catch (e) { _hasError = true; _hasFace = true; _hasSignature = true; } finally { _isLoading = false; notifyListeners(); } } void reset() { _isLoading = false; _hasFace = false; _hasSignature = false; _hasError = false; } }