Friends PR-1: Decoupling calendar from AppStore via ScheduleViewSource#1850
Draft
brelieu05 wants to merge 8 commits into
Draft
Friends PR-1: Decoupling calendar from AppStore via ScheduleViewSource#1850brelieu05 wants to merge 8 commits into
brelieu05 wants to merge 8 commits into
Conversation
Prevent duplicate schedule pickers when multiple calendars mount SelectSchedulePopover by tagging open state with ScheduleViewScope. Co-authored-by: Cursor <cursoragent@cursor.com>
8 tasks
Contributor
There was a problem hiding this comment.
1 issue found across 11 files
Reply with feedback, questions, or to request a fix.
Re-trigger cubic
Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
…eScheduleViewSource() so home behavior is unchanged while the abstraction is ready for friend schedules.
…Marker React rejects key when it is included in a spread props object on JSX elements.
Remove the appScheduleViewSource adapter and use AppStore as the default ScheduleViewContext value instead. Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Introduces a schedule view layer between calendar UI and AppStore, enabling reuse of the same calendar for home and friend schedules with different data, permissions, and scope. Friend schedule data stays out of
AppStore, so existing schedule mutations can’t touch it.ScheduleViewSourceas a thin abstraction layer over schedule data: home uses appScheduleViewSource (delegates toAppStore)readonly,scope('home' | 'friend'), andappliesCourseVisibility— so future code can restrict editing, scope UI behavior, and skip home-only filters without touching AppStore.CalendarRoot, event popover/wrapper, schedule select, TBA card) throughScheduleViewContext/useScheduleViewSource()and a unifiedsubscribe()instead of importingAppStoredirectly.openScheduleSelectScope) so global “open picker” signals only affect the matching calendar when home and friend views can both be mounted.No user-visible change on home in this pr. Friend schedule viewing plugs in via a new ScheduleViewSource in follow-up PRs.
Test Plan
Make sure that regular home calendar works the same:
Issues
Closes #