* feat: Disallow next month prefetching in booker
* renamed to include NEXT_PUBLIC
* fixed boolean expression
* Now using a variable length of days to load
* Type fixes
* Now opening all dates to be clickable
* Added turbo.json var and updated example env
* Fixed issue with selectedDate being null when first loading the page
* Updated description of variable
* Made constant for the booking days
* Type fix
* Setting the days to load for weekly view to 7
* feat: add ui and ability to fetch more on click
* feat: add ui and ability to fetch more on click
* fix: loader
* fix: banner detection
* Update packages/features/bookings/Booker/Booker.tsx
* fix: types
* Not showing HavingTroubleFindingTime component when the schedule is loading
* Only enabled on monthly view
* Correctly load initial date
* Type fix
* Fixed bugs around triggering multiple requests
* Added case for when there is no selectedDate but the month has been specified
* Types
* More types
* Check for undefined
* More typing
* More typing
---------
Co-authored-by: sean-brydon <sean@cal.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* fix: event api accepts invalid start & end values
* fix: unit tests
* test: added 'event length check during booking'
* test: fix unit test
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* fixed some of the terms language
* minor changes
* Update apps/web/pages/settings/organizations/[id]/onboard-admins.tsx
* fixed yarn
* nit
* fix: trans
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
* Move handleSeats
* Abstract lastAttendeeDeleteBooking
* Create function for rescheduling seated events
* Fix imports on reschedule seats function
* Fix imports
* Import handleSeats function
* Fix rescheduleUid type
* Refactor owner reschedule to new time slot
* Refactor combine two booking times together
* Reschedule as an attendee
* Refactor createNewSeat
* Remove old handleSeats
* Remove lastAttendeeDeleteBooking from handleNewBooking
* Test for new attendee right params are passed
* Unit test params for reschedule
* Typo fix
* Clean up
* Create new seat test
* Test when attendee already signs up for booking
* Type fix
* Test reschedule move attendee to existing booking
* On reschedule create new booking
* Test on last attendee cancel booking
* Owner reschedule to new time slot
* Owner rescheduling, merge two bookings together
* Test: when merging more than available seats, then fail
* Test: fail when event is full
* Remove duplicate E2E tests
* Clean up
* Rename `addVideoCallDataToEvt` to `addVideoCallDataToEvent`
* Refactor `calcAppsStatus`
* Assign `evt` to resutl of `addVideoCallDataToEvent`
* Use prisma.transaction when moving attendees
* Clean create seat call
* Use ErrorCode enum
* Use attendeeRescheduledSeatedBooking function
* Await function
* Prevent double triggering of workflows
* Use inviteeToAdd in createNewSeat
* Remove unused error code
* Remove old handleSeats file
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Erik <erik@erosemberg.com>
* Refactor createBooking
* Type fix
* Abstract handleSeats
* Create Invitee type
* Create OrganizerUser type
* Abstract addVideoCallDataToEvt
* Abstract createLoggerWithEventDetails
* Abstract `handleAppStatus` from handler
* Create ReqAppsStatus type
* Move `deleteMeeting` and `getCalendar`
* Set parameters for `handleSeats`
* Typescript refactor
* Change function params from req
* Type fix
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Erik <erik@erosemberg.com>
* feat-profile-forwarding
* fix for promises of handling
* fix badge success color
* clean up
* fix suggested changes
* Changed design on booking-forward pages and moar test
* taking care of suggested changes, trpc errors and code cleaning
* improve text
* fix conflicting data-testid
* fix unique data-testid
* fix error css-global, email button styles, error conditional
* rename files to match functionality, remove away ui
* Add translations and migration
* remove log
* small fixes + improvements
* fix styles to match new design
* merge fixes
* Fix styles dark mode
* Solving merge conflicts from earlier
* Fix/change test to match new elements
* use trash icon button insted of dots (design issues)
* only send email if toUserId is set
* Fix date picker dark mode
* merge with remote
* removed status field from table and email its now for notify
* small text improvement in email
* check for team plan not paid plan
* fixes and clean up due to removing status
* fix old send request name to new behaviour
* more naming improvements and text
* remove status from handle-type
* code clean up
* fix type error
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* fix: Button re-enables on sluggish networks whilst re-direct is happening
* Add explanatory comment
* fix: Booking form validation can take a while
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: Ensure generated Cal Video link matches expected pattern on booking confirmation
* fix: missing Google Meet videoCallUrl in webhooks on booking confirmation
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* add workflows to bookingScenario
* activate sandbox mode for unit/integreation tests
* add sendgrid specific code to SendgridProvider
* Refactor WIP
* remove duplicate sendgridProvider file
* first implementation for testing workflows
* revert unintended changes
* comment out Workflow trigger tests
* move sendgrid check after test mode
* Update signup.tsx
* fix esLint
* test webhooks on all tests in fresh-booking.test.ts
* fix subjectPattern as title can be different
* add workflow tests to reschedule.test.ts
* code clean up
* code clean up
* fix sendgrid credentials missing message
* code clean up
---------
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* fix: change booking page filter ui to match figma
* fix: style change for filters in mobile
* made all changes requested by reviewers
* fix: add clear filter
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* test: booking and frequency limits e2e
* test: refactor limit e2e and check multiple
* test: move limits e2e to separate file
* fix: blocked day assertions
* chore: rename to booking-limits
* fix: use todo test util
* chore: un-DRY tests
* feat: create user with limits helper
* chore: move user limit helper to utils
* fix: multiple limits test
* feat: fail faster
* chore: event url helper
* fix: prismock count date comparisons
* chore: improve booking limit types in test utils
* test: add typed weekStart to getOrganizer helper
* test: add custom fromDate to getDate helper
* fix: correctly handle negative date increments
* test: add helper for partial weeks
* test: booking limits edge cases
* chore: remove booking limit e2e todos
* chore: normalize getDate return type and skip test
* Fix imports paths that are changes after main merge
* Fix failing types
* Skip failing test
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Hariom <hariombalhara@gmail.com>