From 9a99a6869a3acacfa8f002f1f7ba060d7b31fd84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Horv=C3=A1th=20Gergely?= Date: Mon, 16 Feb 2026 20:16:09 +0100 Subject: [PATCH] Use zip to iterate adjacent lessons Replace index-based loops with zip(entry.lessons, entry.lessons.dropFirst()) in TimetableMediumView and TimetableLargeView to iterate adjacent lesson pairs. This improves readability and safety (avoids manual index arithmetic and potential out-of-bounds issues) while keeping the same break-detection logic. --- firka/ios/HomeWidgetsExtension/Views/TimetableViews.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/firka/ios/HomeWidgetsExtension/Views/TimetableViews.swift b/firka/ios/HomeWidgetsExtension/Views/TimetableViews.swift index 1813a8e..cfbb9f2 100644 --- a/firka/ios/HomeWidgetsExtension/Views/TimetableViews.swift +++ b/firka/ios/HomeWidgetsExtension/Views/TimetableViews.swift @@ -117,8 +117,8 @@ struct TimetableMediumView: View { var hasActiveBreak: Bool { let checkDate = entry.date - for i in 0.. entry.lessons[i].end && checkDate < entry.lessons[i + 1].start { + for (currentLesson, nextLesson) in zip(entry.lessons, entry.lessons.dropFirst()) { + if checkDate > currentLesson.end && checkDate < nextLesson.start { return true } } @@ -209,8 +209,8 @@ struct TimetableLargeView: View { var hasActiveBreak: Bool { let checkDate = entry.date - for i in 0.. entry.lessons[i].end && checkDate < entry.lessons[i + 1].start { + for (currentLesson, nextLesson) in zip(entry.lessons, entry.lessons.dropFirst()) { + if checkDate > currentLesson.end && checkDate < nextLesson.start { return true } }