1
0
forked from firka/firka

Update lesson handling logic in HomeTimetableScreen to manage active lesson index based on today's lessons

This commit is contained in:
2025-09-03 22:52:11 +02:00
committed by Armand
parent bf32f5f8d2
commit 8112d43357

View File

@@ -87,7 +87,26 @@ class _HomeTimetableScreen extends State<HomeTimetableScreen> {
d.day == todayMid.day);
if (idx >= 0) {
active = idx;
final todaysLessons = lessons?.where((lesson) =>
lesson.start.isAfter(todayMid) &&
lesson.end.isBefore(todayMid.add(Duration(hours: 23, minutes: 59))));
if (todaysLessons != null && todaysLessons.isNotEmpty) {
final lastLessonToday = todaysLessons.reduce((a, b) => a.end.isAfter(b.end) ? a : b);
if (now.isAfter(lastLessonToday.end)) {
int nextIdx = idx + 1;
if (nextIdx < dates.length) {
active = nextIdx;
} else {
active = idx;
}
} else {
active = idx;
}
} else {
active = idx;
}
} else if (now.isAfter(dates.last)) {
active = dates.length - 1;
} else {