refactored data providers with centralized cache resolution, unified UI using custom dialogs and bottom sheets, and enhanced network error handling for Dio and TLS errors

This commit is contained in:
2026-05-08 20:01:45 +02:00
parent c62a14645a
commit 9e139b5704
37 changed files with 595 additions and 753 deletions
@@ -3,14 +3,22 @@ const double kCalendarEndHour = 17.25;
const Duration kCalendarTimeInterval = Duration(minutes: 30);
const double kCalendarViewHeaderHeight = 60;
/// Minimum pixels per hour. Below this, the grid scrolls vertically rather
/// than compressing further.
/// Below this, the grid scrolls vertically rather than compressing further.
const double kCalendarMinPxPerHour = 56;
/// Minimum height of a lesson block in the period-based layout. The grid
/// scrolls vertically once lessons would otherwise be smaller than this.
/// The grid scrolls vertically once lessons would otherwise be smaller.
const double kLessonBlockMinHeight = 50;
/// Fixed height of a break block in the period-based layout. Independent of
/// the actual break duration; breaks are rendered as a compact indicator.
/// Fixed (independent of actual break duration); breaks render as a compact
/// indicator.
const double kBreakBlockHeight = 28;
const int kOutsideChipsMaxVisible = 2;
const double kOutsideChipHeight = 22;
const double kOutsideChipSpacing = 3;
const double kOutsideStripVerticalPadding = 3;
const double kAppointmentTitleFontSize = 15;
const double kAppointmentTitleMinFontSize = 11;
const double kAppointmentBodyFontSize = 10;
const double kAppointmentBodyLineHeight = 1.15;