Skip to content

feat: implement url-driven calendar routing and navigation state - #74

Merged
munlicode merged 1 commit into
v2from
feat/url-drive-view-modes
Jul 16, 2026
Merged

feat: implement url-driven calendar routing and navigation state#74
munlicode merged 1 commit into
v2from
feat/url-drive-view-modes

Conversation

@munlicode

Copy link
Copy Markdown
Contributor

Summary

Transitioned calendar view and date selection states into URL parameters (e.g. /app/calendar/:viewMode/:year/:month/:day), supporting deep-linking and browser navigation.

  • URL-Driven State: Refactored header navigation controls to update the URL directly as the single source of truth.
  • Route Parsing Fix: Configured calendar routes as sibling leaf routes in routes.ts so React Router can correctly parse wildcard splat params.
  • Sync & Slide Guards: Added useRef checks to date/month sync hooks to prevent rendering loops, popover default month resets, and calendar swipe gesture locks.
  • Query Range Fix: Prevented the global query effect from overriding visible calendar bounds to a 3-day window during chronological view modes.

Checklist

  • I have performed a self-review of my code
  • My changes pass all existing tests

@munlicode munlicode self-assigned this Jul 16, 2026
@munlicode munlicode added a:refactor Improving internal code quality without changing external behavior. e:medium Moderate effort. Requires a solid afternoon of focused work. p:high Essential for the next release. Critical features or major blockers. labels Jul 16, 2026
@munlicode
munlicode merged commit 9cb445a into v2 Jul 16, 2026
1 check passed
@munlicode
munlicode deleted the feat/url-drive-view-modes branch July 16, 2026 07:11
@munlicode munlicode added this to the v2 milestone Jul 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

a:refactor Improving internal code quality without changing external behavior. e:medium Moderate effort. Requires a solid afternoon of focused work. p:high Essential for the next release. Critical features or major blockers.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant