* feat: update styling and text for unscheduled courses in footer
* refactor: correct offwhite theme colors
* fix(ui): adjust em dash spacing, footer bottom padding, and vertically align course text
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat(ui): calendar header redesign (WIP)
* feat(ui): calendar header redesign (WIP)
* chore: use path alias
* feat(ui): calendar header redesign
* implement Isaiah changes
* refactor to prevent unnecessary recreations of resize observer
* clean up resize observer and remove unnecessary checks
* remove offwhite border from toolbar
* merge
* complete toolbar
* update screenreader functionality
* ensure truncation works
* merge
* finish new toolbar
* remove unused screen size hook and .mjs file
* add in export button with options
* add static size for export button dropdown to prevent shrinking on smaller viewports
* change schedule section min width to prevent shrinkage
* change text for schedule section to match small caps
* fix truncating issues with small caps
* remove hidden overflow
* add padding
* add min height for hader
* reserve scrollbar width
* tmp
* add sticky positioning to header
* fix inert prop issue
* remove pnpm lock file
* fix scrollbar appearing too early
* fix vertical stickiness
* fix(ui): fix header spacing
* fix(ui): update total hours and courses to be h4
* fix(ui): reduce top spacing on header
* fix(ui): remove header top padding
* fix(ui): stop bottom scrollbar from shifting layout
* feat: add functionality to header and fix screenshot spacing
* feat: add functionality to header and fix screenshot spacing
* fix(ui): allow scrollbar in header and adjust padding to compensate for reserved space
* fix(ui): make export options container hug children
* fix(ui): add offwhite border
* chore: add back lock file from main branch :)
* feat(ui): add reduced motion for accessability
* feat(ui): change right scrollbar on calendar grid to be hidden when not necessary
* chore: make all buttons except export invisible
* chore: remove all buttons except export and adjust hardcoded pixel widths for responsiveness
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Razboy20 <razboy20@gmail.com>
* 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>
* feat: we do al il check to move sat and 7 am classes to async
* feat: it is 5 am ohhhhh boy i could go for some mighty mo's rn
* feat: a derek
* feat: undo
* chore: lint
* chore: lint x2
* feat: horizontal line
* feat: dash changed to —
* feat: remove conditional centering if no timeAndLocation found
* style: his majestys style changes
* style: 2
* style: x3
* style: x4
* style: x5
* feat: show async courses in the bottom bar
* fix: hide "Async/Other" header when there are no async courses, off-by-n error
(where n is the number async courses)
* refactor: move types closer to map instead of weird "as boolean"
* refactor: move satisfies to return type
* 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>