loadStreakData method
Loads current streak data and updates observable properties.
Implementation
Future<void> loadStreakData() async {
isLoading.value = true;
isError.value = false;
final userEmail = FirebaseAuth.instance.currentUser?.email;
if (userEmail == null) {
isError.value = true;
isLoading.value = false;
return;
}
try {
await _statisticsController.setStreakInvalid(userEmail);
hasStreak.value = await _statisticsController.isStreakActive(userEmail);
final results = await Future.wait([
_statisticsController.getDoneExercisesInSeconds(userEmail),
_statisticsController.getStreakSteps(userEmail),
]);
doneSeconds.value = results[0];
streakSteps.value = results[1];
} catch (_) {
isError.value = true;
} finally {
isLoading.value = false;
}
}