buildTopExercisesCard method

Widget buildTopExercisesCard(
  1. String email,
  2. bool isDark,
  3. BuildContext context
)

Top Exercises Card

Implementation

Widget buildTopExercisesCard(String email, bool isDark, BuildContext context) {
  final statisticsController = StatisticsController();
  final localizations = AppLocalizations.of(context)!;

  return FutureBuilder<List<String>>(
    future: statisticsController.getTop3Exercises(email),
    builder: (context, snapshot) {
      if (snapshot.connectionState == ConnectionState.waiting) {
        return _buildLoadingCard(icon: Icons.star_border_outlined);
      }

      if (snapshot.hasError) {
        return _buildErrorCard(context, isDark);
      }

      if (snapshot.hasData && snapshot.data!.isNotEmpty) {
        return _styledListCard(
          icon: Icons.star_border_outlined,
          iconColor: tPrimaryColor,
          title: localizations.tTop3Exercises,
          items: snapshot.data!,
          isDark: isDark,
        );
      }

      return _styledTextBlockCard(
        icon: Icons.star_border_outlined,
        iconColor: Colors.grey,
        title: localizations.tTop3Exercises,
        lines: [localizations.tNoExercisesDone],
        isDark: isDark,
      );
    },
  );
}