* 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>
* feat: first button attempt
* feat: fetching each course code
* feat: adding courses function from there but idk where to get the active schedule from
* docs: todo
* feat: retrieved active schedule
* feat: button tactics
* feat: add support for my.utexas.edu
* feat: inject button into MyUT
* feat: refactor code to render components dynamically based on site
* feat: scrape course ids from MyUT and remove duplicates
* feat: site support links for classlist
* feat: add utility function to add course by URL
* feat: support additional case for course cal
* feat: duplicates
* chore: cleanup
* feat: temporary checkpoint
* feat: reroute to use new add course by url
* feat: linking to new function, cleaning up, adding messaging for course url add
* chore: unused import
* feat: relinking addCourse function to the button fingers crossed
* feat: we did it!
* chore: remove comment
* chore: cleanup cleanup
* feat: tried to handle the async stuff because of that small bug but nothing fixed. doesnt hurt tho
* feat: i have fixed it holy kevinnn
* chore: delete unused file and organization
* chore: removed unused log
* feat: better log for course add
* chore: refactor via data destructuring
* chore: pass component as prop via React.ComponentType
---------
Co-authored-by: Ethan Lanting <ethanlanting@gmail.com>
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat: add 'About the data' link to grade distribution chart
* chore: change the About the data text style/variant to small
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.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: add react-loading-skeleton package
Add the react-loading-skeleton package to the project dependencies in package.json. This package will be used to display loading skeletons in the AutoLoad component.
* chore: remove body-max-line-length rule from commitlint.config.ts
* 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
* fix: temp fixes, need to still work on it
* fix: im a god at css otl
* fix: handle edge case where they have conflicting classes in their schedule
* fix: got it working
* fix: don't change the font size of course names
* fix: remove unused prop
* fix: lint errs
* fix: remove unused code