import '../models/question.dart'; import '../models/deck_config.dart'; /// Manages priority point calculations for questions. class PriorityManager { /// Applies priority changes based on answer correctness. static Question applyAnswerResult({ required Question question, required bool isCorrect, required DeckConfig config, }) { if (isCorrect) { final newPriority = (question.priorityPoints - config.priorityDecreaseOnCorrect) .clamp(0, double.infinity) .toInt(); return question.withPriorityPoints(newPriority); } else { return question.copyWith( priorityPoints: question.priorityPoints + config.priorityIncreaseOnIncorrect, ); } } /// Resets priority to 0. static Question resetPriority(Question question) { return question.withPriorityPoints(0); } }