* feat: temporary removal of waitlist etc
* feat: experimental toggle for icons for now
* feat: popupmain toggle
* feat: cal header toggle
* feat: adjusted course cell for toggle
* feat: fine it'll be a constant
* chore: lint
* feat: other experimental options
* feat: screenshot whole page, hide certain elements, screenshot fixed size
* refactor: use variants instead of groups and custom rules
* feat: scaled header, smaller body, weird padding/margin changes
* feat: consistent sizing & style regardless of zoom
* feat: use downloadBlob instead of hand-rolled image saving
* fix: be type safe is toBlob returns Promise<null>
* fix: revoke object url when it should be
* fix: animation scheduling
---------
Co-authored-by: Razboy20 <razboy20@gmail.com>
* feat: calendar-course-cell-color-picker done??
* fix: ensure hex code is lowercase
* fix: make hex codes lower case
* chore: convert px to rem in ColorPatch.tsx
* fix: add functionality to the invert colors button
* fix: some more lowercase stuff
* fix: remove hardcoded color patch hex codes, remove hardcoded pixel values
* chore: remove React.FC
* chore: modify docs
* fix: remove duplicate style
* fix: used name over size specified classes
* fix: grid over flex, elie feedback
* refactor: use color strings instead of indices
* refactor: remove console.log statements
* feat: Imports to popupcourseblock.tsx
* changing the blocks to accept parameters for clicking functionality which may or may not open the calendar
* put the click parameter in the div of popupcourseblock
* safely calling for onCourseClick in the event it is an undefined function
* handled other calls of popupcourseblock with empty functions for now, and i think popupmain opens calendar now when the course block is clicked
* feat: Testing out passing params to handleOpenCalendar
* url that takes in params to open calendar with params
* further work on url params; from popup main to handleopencalendar to calendar using urlsearchparams
* feat: small calendar shifting after merge:
* fix: merge handling and then references to new click parameter
* fix: optional params
* feat: split into two functions instead
* fix: changing proper usage of handleOpenCalendarWithCourse
* feat: show course popup when calendar opened
* chore: remove useless commented out code
* feat: close popup on calendar nav, fix build errors, remove useless comments/logs
* chore: chromatic so dumb fr why aren't you chrome
* fix: refactor listeners to build properly
* feat: exit early when not in chrome extension
* fix: function return type
* fix: function return type x2
* fix: generic type for useState
* refactor: extract calendar opening on click functions
* refactor: chrome runtime mock, omit question mark if no query params, rename calendar event
* refactor: move course click event into component directly instead of prop
* refactor: removed useless wrapper functions, made popup course block more accessible
* fix: i dont wanna talk about it
---------
Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
* refactor(UserSchedule): index by a unique id rather than name
* refactor: Update parameter names in schedule function jsdocs
* refactor: change more instances of .name to .id
* refactor: Fix typo in variable name and update references
* refactor: Remove console.log statement
* fix(chromatic): Update ScheduleListItem story
* refactor: remove unused eslint rule
* style: course selection fix
* fix: generic bugs on course selection
* fix: schedule switch lag when popup is open for too long
* fix: storybook bug
* chore: remove unnecessary dependency
* Temporarily uninstalling husky cause github desktop has issues with it
* Cleaned up some code. Removed unnecessary state value on injected popup
* Should've fixed popup alignment issue. Still need to integrate course schedule with calendar. Still debugging.
* Updated CalendarGridStories
* Fix: change to ExampleCourse from exampleCourse
* setCourse and calendar header need work
* Update as part of merge
* Fix: fixed build errors
* Fix: Added Todo
* Chore: Cleaned up useFlattenedCourseSchedule hook
* fix: List now keeps track of state when existing items are switched, while adding new items to the end
* Added back husky
* Update src/views/components/calendar/Calendar/Calendar.tsx
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: added type-safety, destructuring, etc. ready for re-review
* refactor: got rid of ts-ignore in openNewTabFromContentScript
* Update src/views/components/calendar/CalendarHeader/CalenderHeader.tsx
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using path aliasing
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using path aliasing
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using satisfies instead of as
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using satisfies instead of as
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* style: reformatted spacing
* style: eslint import order
* refactor: added new constructor for UserSchedule to avoid passing down null values to child props
* fix: fixed bug with course cell times starting and after 12 PM. commented in CourseMeeting class
* Update src/views/hooks/useFlattenedCourseSchedule.ts
* fix: fixed build errors by removing old apis
* refactor: added type-safety and destructuring
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* some work
* some work on course popup
update the stories and create the header component
* use chip component in header
* complete CourseHeaderAndActions Component
added course buttons, using proper subcomponents now.
* Change test course to 314
* Add rmp callback
* some unocss updates
* add course button onclick handlers
* add todo for calendar button
* Rename CoursePopup
Old one to "Old", remove "2" from new one
* description stuff done
* Modify story to use proper course info
* Add Grade Distribution Stuff
* Minor tweaks
change style in header
* Add TODO
replace current grade colors with a tailwind palette
* Fix syllabi url
Remove unused variable and unnecessary args to url
* Bunch of renaming
* Kinda complete the handlers
* change grade distribution colors to match updated figma
* change from reducer pattern to state variables, remove chartData from state
* add additional story
* disabled add when course is not open
* use array fill
* Some changes with the instructor names
* trying to get the CES stuff to work
* CES button is working
* remove a todo
* add actual color for dminus
* fix description, start no distribution state
* post merge fixes
* small fixes
* fix: import as type
* fix: some better typescript stuff i think
* fix: manifest.ts
* fix: pr feedback
* Apply suggestions from code review
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* Temporarily uninstalling husky cause github desktop has issues with it
* Cleaned up some code. Removed unnecessary state value on injected popup
* Should've fixed popup alignment issue. Still need to integrate course schedule with calendar. Still debugging.
* Updated CalendarGridStories
* Fix: change to ExampleCourse from exampleCourse
* setCourse and calendar header need work
* Update as part of merge
* Fix: fixed build errors
* Fix: Added Todo
* Chore: Cleaned up useFlattenedCourseSchedule hook
* fix: List now keeps track of state when existing items are switched, while adding new items to the end
* Added back husky
* Update src/views/components/calendar/Calendar/Calendar.tsx
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: added type-safety, destructuring, etc. ready for re-review
* refactor: got rid of ts-ignore in openNewTabFromContentScript
* Update src/views/components/calendar/CalendarHeader/CalenderHeader.tsx
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using path aliasing
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using path aliasing
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using satisfies instead of as
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* refactor: using satisfies instead of as
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* style: reformatted spacing
* style: eslint import order
* refactor: added new constructor for UserSchedule to avoid passing down null values to child props
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* fix: use path alias
* fix: more path alias
* fix: even more path aliasing
* fix: even moreeeee path aliasing
* fix: sort imports
* fix: sort imports (again)