* chore: removed extra space at calendar footer
* chore: fixed eslint issues
* chore: changed return type to react node
* chore: displaycourses true fixes and checks fixed
* chore: prettier fix
* feat: not working same semester course issue
* feat: modifying components to use the new hook
* feat: small fixes
* fix: remove comments and spaces
* fix: dialog error solved
* fix: add to new schedule
* fix: prettier
* fix: delete unnecessary custom hook and p[rettier
* fix: checks all passing
* fix: added requested changes
* fix: added new conditions
* fix: description fixed
* style: fix Roboto Flex not being used as font in dialog
* fix: made requested changes
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Razboy20 <razboy20@gmail.com>
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* fix: limit height of schedule list dropdown in the extension popup
* fix: limit the entire dropdown to 200px, not just the schedule list
* fix: use flexbox for dropdown and wedge scrollbar inside margin
* fix: use DisclosurePanel in schedule dropdown, do Uno class sorting
---------
Co-authored-by: Ethan Lanting <ethanlanting@gmail.com>
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat: add DiningAppPromo component and integrate it into Calendar
* feat: update WhatsNewPopup with new features and app download link
* fix: remove outdated links
* chore: run lint
* chore: run prettier
* feat: enhance DiningAppPromo with close button and integrate user preference for promo visibility
* chore: run lint
* chore: run check types
* fix: correct promo visibility logic in Calendar component
* feat: centralize app store URLs in appUrls.ts
* chore: run lint
* feat: integrate UT Dining promo image
* chore: run lint
* fix: update logo in WhatsNew popup to use LD icon
* fix: convert URLs to URL objects for consistency
* fix: update LD icon in WhatsNew popup to new version
* fix: update description for Coffee Shops feature to clarify operating times
* fix: rename promo state and storage key to showUTDiningPromo for clarity
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat: create whats new initial component
* feat: create initial whats-new hook
* feat: create whats-new story
* feat: add button to open dialog in storybook
* feat: complete popup ui
* feat: add check for new updates or installs
* fix: fix linter issues
* fix: use proper features and add video
* fix: properly fetch version from manifest
* feat: add a link to open the popup
* fix: update spacing and features' content
* fix: update UTRP Map name
* fix: increase icon size and display version correctly
* feat: update the features video
* fix: update offwhite color
* fix: color typo
* fix: fixing colors again
* feat: use numbers instead of boolean
* fix: typo in import
* feat: add type safety to features array
* feat: cdn video url
* fix: delete mp4 video
* feat: handle video failure to load
* fix: make border outline tight to video
* feat: make design responsive
* fix: make features array readonly
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Derek Chen <derex1987@gmail.com>
* fix: add active scale style and accept file prop
* chore: improve type safety using MIMEType
* fix: update FileUpload component to support multiple MIME types in accept prop
* chore: run lint
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* 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>
* feat: add copy icon for course unique ID
* feat: update Button component to support event parameter in onClick handler
* feat: add copy functionality for course unique ID
* refactor: use Text component instead of span
* fix: remove duplicate course number
* fix: remove unnecessary event forwarding
* fix: remove unnecessary boolean type
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* fix: remove double space
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* refactor: reduce clipboard copy delay and use formatted unique ID
* feat: add copy animation to dialog
---------
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: nikshitak <nikkikurva@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: update calendar sidebar, footer, and header with Figma design
* chore: run lint
* feat: update header with Figma design
* chore: run lint
* chore: remove unused vars
* chore: fix types
* fix: adjust sidebar minimum width
* fix: update LogoIcon layout to ensure text is always displayed
* feat: add spacing constants
* fix: add sidebar styling with spacing system and sticky header
* fix: update spacing constants to use rem units
* refactor: replace padding with spacing system and colors with UTRP theme
* refactor: rename ImportantLinks to ResourceLinks
* refactor: simplify CalendarHeader button component by using icon prop
* feat: add sidebar open and close transition
* refactor: rename unused var
* fix: update social icon color
* feat: improve layout and spacing in calendar components
* refactor: remove unused GearSix icon and options handler
* feat: update calendar components with new icons and improved spacing
* fix: correct class name
* refactor: organize social links into array and update link styling
* refactor: remove unused import
* fix: adjust gap spacing in radio button
* fix: update divider component to use theme offwhite1
* fix: increase size of outward arrow icon
* feat: add getSpacingInPx function to convert rem to pixels
* fix: update gap spacing in CalendarSchedules component to use spacing system
* fix: rollback footer social icons to original icons
* fix: update Calendar styles to use theme offwhite1 and adjust padding to account for scrollbar
* fix: update LargeLogo component to use gap-spacing-3
* fix: update button variants to 'minimal' and adjust styles for consistency
* fix: adjust padding in Calendar component for better layout consistency
* fix: increase size of arrow icon
* fix: add shrink-0 to radio buttons
* feat(ui): added shadows to popup buttons and course blocks
* feat(ui): keep shadow state while dragging course block
* feat(ui): fixed transition "flash" after dragging
* feat(ui): fix linting/styling
* Update src/views/components/PopupMain.tsx
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
* fix(ui): change old icons to the new ones from main
* fix(ui): show flag icon instead of plus icon for feedback
* chore: fix button variants after merge
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Samuel Gunter <29130894+Samathingamajig@users.noreply.github.com>
Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
* 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: 2nd attempt for: now able to delete schedule even if active
* fix: 3rd attempt for: now able to delete schedule even if active
* fix: 4th attempt for: now able to delete schedule even if active
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* fix(header): bottom-aligned the schedule name + hours/courses in calendar
* feat: updated font style in header and dropdown
* fix: new hour/course styling per discussion
i love having 80 different ideas, hopefully after this there's like maybe a tiny commit left to do before this is done..
* feat(header): added icons to cal header
WORK IN PROGRESS
* style: updated layout of header and main popup
* fix: updated font and spacing for header and popup
* fix: updated cal + popup style details
- schedule title is now in normal casing w/ colon removed
- last updated on is now entirely deleted from everywhere
- hour and course numbers now h3 in calendar ONLY
* refactor: changed size for calendar header
* refactor: changed ut-black to theme-black
* refactor: remove hiding on small window sizes
* refactor: reduced spacing in popup
* refactor: updated unocss for small-caps configuration
* style: changed variant + className order
* fix: readded update time text
* style: auto formatter, unused imports, capitalization
---------
Co-authored-by: Razboy20 <razboy20@gmail.com>
Co-authored-by: Samuel Gunter <sgunter@utexas.edu>
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
* feat: export schedule function to be added to handler
* feat: use UserScheduleStore and return json
* feat: download functionality
* feat: oh wow we already have a blob download util that is very very nice
* feat: return empty json if none found
* feat: import function completion
* feat: file uploading done
* feat: new input component-stories made-settings input replaced with component
* feat: attempt 1 to hook settings.tsx to importSchedule
* feat: it works horray aka using right Course constructor it works
* chore: fix jsdoc
* chore: comments and debug style
* docs: extra comment
* feat: name of schedule more user friendly
* feat: reworked how schedule is passed and check for file being schedule
* feat: color is kept on import
* fix: add sendResponse to exportSchedule
---------
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(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>
* 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: action menu for schedule list item
* feat: schedule action menu functionality
* feat: dialog provider popups for delete
* feat: duplicate schedule satiesfies type
* refactor: change non-null assertion to early return for rename schedule
* refactor: move schedule list item dialog providers to util file
* style: run prettier
* chore: inline object with satisfies operator
* fix: border issues
* style: change popups to match figma
* fix: update import for schedule list item dialog providers
* style: change dropdown text style to match figma
* fix: add back dialog context
* style: rounded edges when hovering over action + soften border color
* chore: cleanup and improve styling
* fix: dialog in popupmain
---------
Co-authored-by: doprz <52579214+doprz@users.noreply.github.com>
Co-authored-by: Razboy20 <razboy20@gmail.com>