diff --git a/lib/features/tasks/presentation/pages/calendar_page.dart b/lib/features/tasks/presentation/pages/calendar_page.dart index 8b9cf33..f0782f2 100644 --- a/lib/features/tasks/presentation/pages/calendar_page.dart +++ b/lib/features/tasks/presentation/pages/calendar_page.dart @@ -36,11 +36,21 @@ class _CalendarPageState extends State { final lastDay = DateTime(_focusedMonth.year, _focusedMonth.month + 1, 0); - for (int day = 1; day <= lastDay.day; day++) { - final date = DateTime(_focusedMonth.year, _focusedMonth.month, day); - final dateStr = DateFormat('yyyy-MM-dd').format(date); - final result = await repository.getTasksByDate(date); - result.when( + // Create all date requests + final dates = List.generate( + lastDay.day, + (index) => DateTime(_focusedMonth.year, _focusedMonth.month, index + 1), + ); + + // Execute all API calls in parallel + final results = await Future.wait( + dates.map((date) => repository.getTasksByDate(date)), + ); + + // Process results + for (int i = 0; i < dates.length; i++) { + final dateStr = DateFormat('yyyy-MM-dd').format(dates[i]); + results[i].when( success: (data) { if (data.isNotEmpty) { tasks[dateStr] = data;