buildLongestStreakCard method
- String email,
- bool isDark,
- BuildContext context
Longest Streak Card
Implementation
Widget buildLongestStreakCard(String email, bool isDark, BuildContext context) {
final statisticsController = StatisticsController();
final localizations = AppLocalizations.of(context)!;
return FutureBuilder<Map<String, dynamic>?>(
future: statisticsController.getLongestStreak(email, context),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return _buildLoadingCard(icon: Icons.auto_graph_outlined);
}
if (snapshot.hasError) {
return _buildErrorCard(context, isDark);
}
if (snapshot.hasData && snapshot.data!.isNotEmpty) {
final data = snapshot.data!;
return _styledTextBlockCard(
icon: Icons.auto_graph_outlined,
iconColor: tPrimaryColor,
title: localizations.tLongestStreak,
isDark: isDark,
lines: [
'${localizations.tStartDate}${data['startDate']}',
'${localizations.tEndDate}${data['endDate']}',
'${localizations.tDuration}${data['lengthInDays']}${localizations.tDays}',
],
);
}
return _styledTextBlockCard(
icon: Icons.auto_graph_outlined,
iconColor: Colors.grey,
title: localizations.tLongestStreak,
lines: [localizations.tNoStreak],
isDark: isDark,
);
},
);
}