* 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>
UT Registration Plus
We've all been there. 20 tabs of Rate My Professor, Google Spreadsheet, and the UT Course Schedule open and you still don't know what classes to take. This extension, UT Registration Plus (UTRP), tries to streamline most of the unnecessary steps and headaches of registering for classes at UT Austin.
-
For each class in the UT Course Schedule site, UTRP provides a "breakdown" popup, with quick and easy links to the instructor's RateMyProfessor, Course Evaluation Survey (CES) and past syllabi.
-
Shows the course description with highlighted information on prerequisites, restrictions, etc.
-
Shows an aggregate and semesterly graph of the grade distributions for each course.
-
Gives you the ability to add "Add Course" and view them in the extension popup, a quick list of all the courses you have saved and an easy way to copy unique numbers.
-
Highlights and crosses-out what courses on the UT Course Catalog would conflict with your currently saved courses, making selecting courses that fit with your schedule so much easier.
-
Display's a weekly schedule based on your saved courses.
-
Give you the ability to create multiple schedules to plan for different scenarios.
-
... and much more!
Toolchain
- React 18
- TypeScript
- Vite 5
- ESLint
- Prettier
- Storybook
- Semantic-Release
- Custom Messaging & Storage Wrappers
Development: Getting Started
- Clone this repo
- This project uses
pnpmto manage and patch dependencies. Runpnpm installto configure the repository for building/development - Using either of the methods listed below, the extension will build to the
dist/directory.
Development Builds
- Run
pnpm dev
Note
Injected content such as extension content on UT pages is not properly styled, and are missing class stylings. When developing for these pages, use
pnpm build -wto build and watch for changes. This will ensure you are seeing an accurate representation of the extension.
Production Builds
- Run
pnpm build
Development: Loading the Extension Manually
Open chrome://extensions, ensure you have 'Developer Mode' enabled, and click 'Load unpacked'.
Navigate to the dist/ folder, and click 'select' to import the extension.