Skip to content

feat: Multi days event loading - #243

Open
LunarX wants to merge 13 commits into
mainfrom
multi-days-event-loading
Open

LunarX wants to merge 13 commits into
mainfrom
multi-days-event-loading

Conversation

@LunarX

@LunarX LunarX commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Extract logic used by DayViewModel to load events and reuse it for three days and week view models.

This PR also optimizes load times and RAM consumption by caching and reusing the data between the three screens.

Depends on #236

@LunarX
LunarX added this pull request to stack #244 October 13, 2026 09:30
@LunarX
LunarX requested review from sirambd and tevincent October 13, 2026 09:30
@LunarX LunarX self-assigned this Oct 13, 2026
Copilot AI balanced review requested due to automatic review settings October 13, 2026 09:53

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The pager range can produce invalid pages, the loader cache is not actually shared, and the architecture map is inaccurate.

3 open findings
What changed in this PR

Centralizes event loading for day, three-day, and week views, completing the event integration started in #236.

Changes:

  • Adds shared timeline state and event loader.
  • Displays events and enables event-detail navigation across timeline views.
  • Moves event grouping utilities and updates architecture documentation.
File Description
DayEventGroupingExt.kt Moves event grouping utilities to the shared utils package.
WeekViewModel.kt Exposes shared timeline events.
WeekScreen.kt Displays events and handles event clicks.
ThreeDayViewModel.kt Exposes shared timeline events.
ThreeDayScreen.kt Displays events and handles event clicks.
DayViewModel.kt Replaces local loading logic with the shared loader.
DayScreen.kt Consumes the unified timeline state.
MainNavHost.kt Wires event-detail navigation.
TimelineUiState.kt Generalizes timeline loading state.
DayEventsLoader.kt Adds centralized event observation and mapping.
app/​AGENTS.md Updates the application context map.

🧠 Review effort: Balanced


💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread app/AGENTS.md Outdated
@LunarX LunarX changed the title Multi days event loading feat: Multi days event loading Oct 13, 2026
@LunarX
LunarX force-pushed the multi-days-event-loading branch 2 times, most recently from 00e028b to 049c64f Compare October 15, 2026 08:08
@LunarX
LunarX force-pushed the multi-days-event-loading branch 2 times, most recently from 990db43 to 6feca8d Compare October 15, 2026 08:50
@LunarX
LunarX force-pushed the multi-days-event-loading branch from 6feca8d to 7bdc2d8 Compare October 15, 2026 10:55
Base automatically changed from multi-days-structure to main October 15, 2026 12:28
@LunarX
LunarX force-pushed the multi-days-event-loading branch from 7bdc2d8 to a3c0078 Compare October 15, 2026 12:28
@github-actions

Copy link
Copy Markdown

This PR/issue depends on:

…DaysViewModel

A specific view model is not needed per screen for now so instead of duplicating the logic, we can share it here
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate Failed Quality Gate failed

Failed conditions
23.9% Duplication on New Code (required ≤ 3%)

See analysis details on SonarQube Cloud

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants