import 'package:flutter/material.dart'; import '../models/question.dart'; import '../services/diagnostic_service.dart'; class DiagnosticProvider with ChangeNotifier { final DiagnosticService _service = DiagnosticService(); List _questions = []; int _currentQuestionIndex = 0; int _totalScore = 0; bool _isFinished = false; bool _isLoading = true; List get questions => _questions; int get currentQuestionIndex => _currentQuestionIndex; int get totalScore => _totalScore; bool get isFinished => _isFinished; bool get isLoading => _isLoading; DiagnosticProvider() { loadQuestions(); } Future loadQuestions() async { _isLoading = true; notifyListeners(); _questions = await _service.fetchStressEvents(); _isLoading = false; notifyListeners(); } void answerQuestion(int points) { _totalScore += points; if (_currentQuestionIndex < _questions.length - 1) { _currentQuestionIndex++; } else { _isFinished = true; } notifyListeners(); } void reset() { _currentQuestionIndex = 0; _totalScore = 0; _isFinished = false; notifyListeners(); } String get stressLevel { if (_totalScore < 150) return "Risque Faible"; if (_totalScore < 300) return "Risque Modéré (50%)"; return "Risque Élevé (80%)"; } String get advice { if (_totalScore < 150) { return "Votre niveau de changement de vie est gérable. Continuez à maintenir votre équilibre actuel."; } if (_totalScore < 300) { return "Vous avez vécu beaucoup de changements. Il y a un risque modéré que cela affecte votre santé. Prenez du temps pour vous reposer."; } return "Attention : Votre score est très élevé. L'accumulation de stress lié à ces changements majeurs pourrait sérieusement impacter votre santé. Il est recommandé de consulter un professionnel."; } }