Commit Graph
3 Commits
Author SHA1 Message Date
stefankoelle 592a615a5d Phase 5: detail screens (scrollable lists + back button) + main controller
- weather_detail: scrollable hourly forecast (time, temp, description,
  rain probability), data logic ported from old weather_detail_screen.cpp
- calendar_detail: scrollable list of all 10 events (summary + formatted
  date/all_day), ported from old calendar_detail_screen.cpp
- mvg: scrollable departures list (line badge U/S colored, destination,
  time/delay, cancellation), 1-minute refresh timer ported from old
  mvg_screen.cpp
- all three use back_button widget (fixed bottom-left)
- main.cpp: Screen controller, navigates between screens via callbacks,
  5-minute inactivity timeout -> home, per-screen tick() for refresh
2026-08-02 10:38:10 +02:00
stefankoelle 28e3faf056 Phase 4: home screen with three touch tiles
- weather tile (big, top, accent blue): temperature + description +
  rain hint badge, tap -> weather detail
- calendar tile (big, middle, accent purple): first 2 events as preview
  (summary + DateUtils::formatShortDE incl. all_day handling), tap ->
  calendar detail
- mvg tile (small, bottom, accent green): label only, no preview,
  tap -> mvg screen
- 10-minute refresh timer + tick() check (ported from old home_screen.cpp)
- data logic reused verbatim: doFetch/weatherOk/calendarOk pattern,
  willRainSoon threshold, sanitizeGermanText + formatShortDE formatting
- placeholder glyphs (LV_SYMBOL_IMAGE/LIST/FILE) until bitmap icons
  land in Phase 6
2026-08-02 10:38:01 +02:00
stefankoelle 14e1b4f7af Phase 3: reusable UI widgets (tile_button, back_button) + screen_base lifecycle
- tile_button: large touch tile with accent bg + title + icon + value,
  fires LV_EVENT_CLICKED (for home screen tiles)
- back_button: fixed bottom-left Zurueck button (LV_SYMBOL_LEFT),
  large touch target, reused on all detail screens
- screen_base.h: Screen struct with create/show/hide/refresh/tick
  lifecycle around an lv_obj_t root (replaces old ScreenId-only header)
- lv_conf.h: enable Montserrat 16/20/24 fonts used by the widgets
2026-08-02 10:32:29 +02:00