* fix: update CourseCellColorPicker.tsx background to white
* feat: add color picker to CalendarCourseCell component
* feat: add color picker functionality to update course colors
* fix: type issues with storybook components
* feat: add useColorPicker hook, isValidHexColor and updateCourseColors utilities
* refactor: color picker logic and UI components
* refactor: update useFlattenedCourseSchedule hook to include courseID property
* refactor: update storybook calendar components with updated props
* refactor: update color picker ui logic to account for position of cell
* fix: revert back to error handling for invalid rgb
* refactor: update jsdocs
* refactor: integrate ColorPickerContext into Calendar components and update props
* refactor: integrate ColorPickerContext into Calendar components and update related props
* refactor: change JSDocs comments and remove unused color inversion state
* refactor: update story components
* feat: add functionality for selecting secondary course colors
* refactor: enhance HexColorEditor to dynamically adjust tag icon color based on preview color
* refactor: simplify JSDoc comment in useColorPicker hook
* fix: revert Button component
* refactor: update CalendarCourseCell component positioning and styling
* fix: correct types in color.ts
* feat: add getDarkerShade function to compute darker shades of hex colors
* feat: add shadow to color picker button
* fix: update button size in ColorPatch component
* feat: implement debounced input for hex color editor and add useDebounce hook
* chore: utilize the logical and && operator instead of the ternary operator
* fix: imports and palette icon
* refactor: remove unused import
* fix: bug when course add fails with custom colors
* chore: run lint
* chore: run check-types
* feat: add HSL color type and conversion functions
* refactor: rename colorway to theme
* fix: hide color picker on screenshot
* fix: undo important syntax
* refactor: rename SomeFunction to DebouncedCallback
* refactor: remove inner function
* refactor: update return type to DebouncedCallback
* fix: adjust sizes for hash and palette button
* feat: create tests for hexToHSL and isValidHexColor
* refactor: update parameter type to use HexColor
* fix: increase size of palette button
* fix: update dependency array for hex code debounce
* fix: change colorPickerRef element ref
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat(ui): update button variants following figma
* feat(ui): separate size prop to allow for regular and small sized button variants
* update type to no longer include minimal-small
* update uno css config to use new spacing system
* add variants and sizes to file upload; update button and file upload stories
* add mini button variant and update small button
* specify width on icon-only regular variant
* update plus buttons to be mini sizes
* remove redundant classnames
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* fix: instructor formatting errors
* refactor: simplify logic in Instructor toString, remove unused formatters
* refactor: remove "unnecessary" else's after returns
I think it looks worse like this but whatever
* fix: updated text when time/location not provided
* fix(issue): fixed text when time/loc isn't provided
* chore: lint and format
* fix: created location&time component
* fix: renamed component & restructured component
* chore: fix lint
* fix: variety of issues within DisplayMeetingInfo component
* fix: fixed lint error
* fix: ran prettier
* chore: locationInfo usage
* chore: cleanup
* fix: removed periods and added online info
* fix: wrapped in div to remove space
* fix: space now shows properly
* fix: spacing fixed
* chore: remove types from jsdoc
* fix: extra arg
* chore: fix lint
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Razboy20 <razboy20@gmail.com>
* fix(ui): updated multiple instructor name formatting in course blocks
* fix(ui): display instructor last names only in all course blocks
* refactor: use instructor toString when getting instructor full name
* refactor: toString in useFlattenedCourseSchedule without template literal
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* refactor: delete type hint and unnecessary comments
* fix(ui): instructor names semicolon delimiter in calendar course block
* fix(ui): removed 'unknown' when there are no instructors
* fix(ui): change - to &ndash
* fix(ui): changed - to ndash in hook
---------
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* fix(ui): placeholder text for no instructor course #400
* Update src/views/components/injected/CourseCatalogInjectedPopup/HeadingAndActions.tsx
Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
---------
Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
* feat(ui): changed popup close icon to #333F48
* feat(ui): ran prettier
* feat(ui): changed hex code to ut-black
* feat(ui): change popup close button color
* feat(ui): got rid of extra space
* feat: add core curriculum chips to injected popup
* fix: add VP and MAcore indicators
* feat: core now defined in constructor
* fix: make core and flags closer together
* fix: stop empty core chip from showing when no core requirements
* fix: remove optional chaining for core chips
* feat: generalize Chip for both flags and core classes
* fix: change types for storybook and add new story for CoreChip
* fix: remove labelMap prop from Chip, chore: clean up imports
* feat: change tooltip for core curriculum requirement
---------
Co-authored-by: Derek Chen <derex1987@gmail.com>
* 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
* 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
* fix: remove old CoursePopup component
* fix: course catalog injected popup story should useScott's 314 class since it actually has data
* fix: build error in background.ts:
* chore: run eslint autofix on CourseCatalogInjectedPopup.stories.ts
* chore: run prettier on CourseCatalogInjectedPopup.stories.ts
* 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 StatusType
* fix: use AutoLoadStatus
* fix: use typof SiteSupport.*
* fix: one more of Status to StatusType
* fix: use import type
* fix: use path alias imports
* fix: use Extract
* fix: remove unnecessary import
* fix: **revert this later** - comment out build errs
* fix: add schedule to story
* feat: add props for dividers
* revert: un-comment build errors
This reverts commit 082e9e0269.
* Revert "fix: remove unnecessary import"
This reverts commit 9230346d26.
* Revert "fix: use Extract"
This reverts commit f6aa80d411.
* Revert "fix: use path alias imports"
This reverts commit ea9bf3c635.
* Revert "fix: use import type"
This reverts commit 27fee47778.
* Revert "Merge branch 'fix/Status-to-StatusType' into fix/divider-usage"
This reverts commit b1715ea360, reversing
changes made to 9ccc43ca27.
* fix: dont use magic number
* fix: lint errs
* fix: reorder imports