diff --git a/Adding-a-Course-(Data-Flow).md b/Adding-a-Course-(Data-Flow).md new file mode 100644 index 0000000..907d8a0 --- /dev/null +++ b/Adding-a-Course-(Data-Flow).md @@ -0,0 +1,14 @@ +### Main functions +- `addCourse` - Primary function for adding courses to schedules +- `addCourseByURL` - Adding courses via direct URLs + +### User Interaction Points + +- `TableRow` - Adds action buttons to each course row +- `CourseCatalogInjectedPopup` - Detailed course modal with add functionality +- `HeadingAndActions` - Contains the actual "Add" button + +After `addCourse` is called, the course is appended to the active schedule's course array. Schedule's `updatedAt` timestamp is refreshed and schedules array is persisted to Chrome storage. Storage change triggers automatic synchronization across extension contexts through +```ts +await UserScheduleStore.set('schedules', schedules);``` +