From 9075288ad4ea5af97e6879c9c098b37e444511ed Mon Sep 17 00:00:00 2001 From: Derek Date: Sun, 20 Jul 2025 19:13:17 -0500 Subject: [PATCH] Created Adding a Course (Data Flow) (markdown) --- Adding-a-Course-(Data-Flow).md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 Adding-a-Course-(Data-Flow).md 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);``` +