* update to display availability page as per weekstart setting
* update to accomodate any day
* update for AvailabilityTab
* reusable and tests added
* update test description
---------
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
* fix: [CAL-3374] Says Number is not Verified, but it is Verified
* clearing error only when verified
* type-checks fixed
* chore: improvement
---------
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* fix: getEnv not returning fallback API_URL breaking examples app
* refactor: use vite as the only way to build atoms
* refactor: web use atoms from web.ts and rest from dist
* refactor: update atoms version, description and set privacy to public
* fix: lib and ui import from web atoms
* refactor: rename @calcom/platform-atoms to @calcom/atoms
* feat: atoms as npm works with example app outside monorepo
* start atoms from v1.0.0
* refactor: monorepo atoms for internal use
* document atoms publishing
* refactor: remove unused import in v2
* fix: mistakes made during main merge
* refactor: move back examples app while still having it in atoms-examples repo
* refactor: monorepo examples readme
* feat: atoms yarn publish command
* refactor: atoms css file simplify
* fix: mocking atoms in ui unit test
* fix: mocking atoms in app-store unit test
* add connect to cal atom
* add connect to cal to atoms package index
* shadcn setup
* update packages
* button component from shadcn
* dumb button component
* replace button with dumb button component
* update commenst and change url param
* chore: setting up monorepo packages for platforms (#12572)
* chore: init platform folders strucutre and api proxy
* fixup! chore: init platform folders strucutre and api proxy
* chore: init database oAuth platform client schema
* fixup! chore: init database oAuth platform client schema
* fix config path after move to folder /v1
* feat: scaffold v2 API (#12554)
* init nest project
* add kysely as a separate package
* add ee folder with license
* prettier: format v2 api same as mono repo
* migrate over Eriks nestjs poc
* schema generation script
* ee license file
* nest poc eslint file
* remove prisma-kysely from v2 api
* prepare for mergin platform: remove prisma-kysely because incorrect checksum
* add prisma-kysely to packages/prisma
* move to apps/api/v2
* rename v2 package
* readme update
* Update apps/api/v2/env.example
* env typo
* env typo
---------
Co-authored-by: Erik <erik@erosemberg.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
* chore: init platform packages (#12603)
* chore: init platform packages
* fixup! chore: init platform packages
* fixup! fixup! chore: init platform packages
* fix: type in package.json
* fixup! fixup! fixup! chore: init platform packages
* fixup! fixup! fixup! fixup! chore: init platform packages
* fixup! fixup! fixup! fixup! fixup! chore: init platform packages
* fixup! fixup! fixup! fixup! fixup! fixup! chore: init platform packages
---------
Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
* chore: platform more permissions utils and tests (#12613)
* chore: more permisions utils and tests
* chore: tests
* feat: validate `CalProvider` api keys (#12672)
* fix: signup nit (#12585)
* Disable submit on empty form
* Fix submit
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* New Crowdin translations by Github Action
* fix: Signup options are not disabled (#12610)
* fix: Signup options are not disabled
* fixes/signup disabling suggested changes done
* chore: signup and login improvements
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* fix: typo in @calcom/emails readme (#12615)
* fix: handle reschedule request for dynamic meetings (#12275)
* chore: [app-router-migration-1] migrate the pages in `settings/admin` to the app directory (#12561)
Co-authored-by: Dmytro Hryshyn <dev.dmytroh@gmail.com>
Co-authored-by: DmytroHryshyn <125881252+DmytroHryshyn@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* chore: added cursor-pointer to img upload (#12624)
* added cursor-pointer to img upload
* nit
* feat: add clear filters option in bookings page (#12629)
* add clear filters option
* fix vscode settings.json
* use removeAllQueryParams()
* fix yarn lock
* remove toggleoption
* feat: display long durations in hours on booking (#12631)
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* New Crowdin translations by Github Action
* fix: workaround for future app dir routes
* feat: Allow only first slot to be booked (#12636)
Co-authored-by: Morgan Vernay <morgan@cal.com>
* New Crowdin translations by Github Action
* feat: add matomo analytics app (#12646)
* chore: Sentry Wrapper with Performance and Error Tracing (#12642)
* add wrapper for sentry and update functions in 'getUserAvailability'. Update tracesSampleRate to 1.0
* Make Sentry Wrapper utilize parent transaction, if it exists.
* Update wrapper for functions to inherit parameters from the child function
* add comment of when to use the wrapper
* check for sentry before wrapping, if not call unwrapped function
* refactored wrapper to have async and sync separate functions that utilize helpers for common behaviour
* update type of args to unknown
* fixed types of returns from wrapped functions
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* validate api keys to set error and key states for api keys
* organize error messages into one place
* set error messages from errors file instead of hardcoding value
* fix incorrect constant name
---------
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Pratik Kumar <70286186+Pratik-Kumar-621@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Samyabrata Maji <116789799+samyabrata-maji@users.noreply.github.com>
Co-authored-by: Manpreet Singh <manpoffc@gmail.com>
Co-authored-by: Benny Joo <sldisek783@gmail.com>
Co-authored-by: Dmytro Hryshyn <dev.dmytroh@gmail.com>
Co-authored-by: DmytroHryshyn <125881252+DmytroHryshyn@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Varun Prahlad Balani <varunprahladbalani@gmail.com>
Co-authored-by: Mike Zhou <mikezhoudev@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Haran Rajkumar <haranrajkumar97@gmail.com>
Co-authored-by: Morgan Vernay <morgan@cal.com>
Co-authored-by: Harshith Pabbati <pabbatiharshith@gmail.com>
Co-authored-by: Brendan Woodward <73412688+bwoody13@users.noreply.github.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* fix: storybook atom import
* feat: oauth clients management (#12604)
* feat: oAuth create and update dtos
* feat: WIP oAuth repository
* feat: oAuth controller and module
* refactor: rename cal oAuth to simply oauth
* fix: controller update client
* add oAuth client module to endpoints module
* refactor: OAuthClientRepository
* refactor
* status codes for controller
* oauth create return
* fix: oAuth client only for v2 API
* remove repository as provider from its module
* fix: oAuth module, have repository in providers
* fix: make endpoints run
* comment out oauth prisma schema code: coming next
* refactor: remove api-key authguard (#12675)
* chore: Prisma exception filters (#12679)
* fix: get prisma schema from package @calcom/prisma (#12692)
* fix: get prisma schema from package @calcom/prisma
* fixup! fix: get prisma schema from package @calcom/prisma
* fixup! fixup! fix: get prisma schema from package @calcom/prisma
* fix: prettier config
* fixup! fix: prettier config
* chore: create authenticated user guard (#12677)
* chore: wip next-auth-guard for apiv2
* refactor: use NextAuthGuard on all OAuthClientController routes
* refactor: use passport to get next user
* exclude password from prisma read service
* Revert "exclude password from prisma read service"
This reverts commit 24b1f8ed59f6d99f0ecc589c691efb0ac1f2ac3b.
* fix: userRepo sanitize password
* refactor: function order in UserRepository
* implement user repository service
* refactor: strict null checks for TS
* refactor: fix strict null checks
* delete res locals type
* refactor: switch from zod to class-validator for oAuth client
* refactor: switch from zod to class-validator for booking
* refactor: rename dtos folder to input folder
* fix: create migration for prisma schema oauth clients table
* feature: post oAuth client
* refactor: rename oAuth client_secret to secret
* stricter ts config + oauth secret
* remove migrations
* fix: improve response type
* improve error code types
* fix: prettier by removing eslint as its not needed
* refactor: eslint fix files
* wip organization oauth_lcient
* fix import types
* fix team schema platformOAuthClient name
* fix: import packages transpiled
* feat: roles guard
* refactor: use organisationId instead of userId
* fix: jwt secret signing not having jwt_secret
* fix: stop importing input DTOs as types
* fix: jwt sign expecting plain object
* add sentry, routes logger, generic response type
* fix test config
* fixup! fix test config
* refactor: dont await async function return
* feat: fallback value for getEnv
* feat: add helmet for security
* feat: organization guard
* refactor: check if user set in RolesGuard
* refactor: remove roles requirement for oauth read
* chore: add exceptions filters
* fix: api key strategy throws errors
* chore: set e2e tests
* chore: centralize api type in package
* feat: user repository relations
* feat: user repository relations
* Revert "feat: user repository relations"
This reverts commit 1802b256b5a6e5c9b6a62138c8cb1b6f75ed401b.
* Revert "feat: user repository relations"
This reverts commit 4a8f52583d95ff15b6254694c976d8ec9ce0e546.
* test: mock next auth
* fixup! test: mock next auth
* test:oAuth authed user but no org
* refactor: remove unused type
* refactor: organisation guard based on Membership table
* refactor: folder and file structure
* fix: small changes exception filters
* refactor: merge organization and roles guards into one guard
* fix: remove old export
* fix: org roles guard
---------
Co-authored-by: supalarry <lauris.skraucis@gmail.com>
* chore: OAuth clients tests and fixes (#12762)
* chore: add tests and fixes
* fixup! chore: add tests and fixes
* fixup! fixup! chore: add tests and fixes
* fixup! fixup! fixup! chore: add tests and fixes
* fixup! fixup! fixup! fixup! chore: add tests and fixes
* fixup! fixup! fixup! fixup! fixup! chore: add tests and fixes
* fixup! fixup! fixup! fixup! fixup! fixup! chore: add tests and fixes
* fix: remove unused imports
* chore: move repos to feature folder (#12769)
* chore: rename repositories
* fix yarn.lock
* feat: oauth client guard (#12814)
* feat: oAuth client guard
* refactor test
* refactor: move oauth-client guard to oauth module
* refactor: separate jest config from package.json
* fix: resolving paths in jest tests
* fix: tests
* jest setup file
* fix: jest test warnings about .js platform constants imports
* refactor: test repository fixtures
* remove allowjs
* ignore js files in ts-jest
* make oauth client module global
* make oauth client module global
* feat: platform oAuth clients frontend (#12867)
* add oauth client to settings
* fix imports
* add react and axios
* oauth client form and card components
* hooks for oauth clients data
* index page for oauth clients
* oauth client list component
* oauth client form page
* shift atoms into platform
* init platform folder
* refactor handleSubmit functioin
* platform
* platform
* platform parts
* revert tsconfig constant platform
* fix: useOauthClients
* feat: create oauth client with api
* fix: add prettier to platform type package
* fixup! fix: add prettier to platform type package
* chore: class-validator types in platform package
* add types for delete oauth client iput
* add onSuccess and onError methods
* update oauth client card view with client id and secret
* cleanup comments
* split oauth persisit hook into create and delete hooks
* fix: oauth client creation / deletion / listing
* fixup! fix: oauth client creation / deletion / listing
* fix: comment logo for now
* fix: layout setting org keys
* cleanup comments
* minor style fixes, add logic for client permissions
* show toast after deleting client
* not passing clint logo at the moment
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* chore(platform): OAuth Flow (#12798)
* fixup! chore(platform): OAuth Flow (#12798)
* feat: CRUD for oAuth users (#12853)
* user controller with oauth guard
* crud repository and controller operations
* add user controller to user module
* refactor: oauth guard
* connect user with oauth client upon creation
* fix: test
* wip: e2e test
* refactor: findUniqueOrThrow -> findUnique user
* test: POST user request
* feat: permissions guard
* e2e tests
* e2e
* e2e refactor
* e2e refactor
* reflector decorator check refactor
* refactor oauth guard
* remov unused imports
* log message
* delete permissions decorator and guard
* remove delete user endpoint
* remove delete user endpoint
* refactor: route structure
* remove get oauth client decorator
* delete unecessary e2e config changes
* remove set header in post test
* fix: oauth guard test on empty db
* revert: add previously removed constant to fulfill merge platform
* fix: import to satisfy platform branch merge
* use real implementation of access token guard
* generate access & refresh tokens and fix e2e
* fix: oauth client e2e test
* refactor: variable naming
* refactor
* rename test file
* remove oauth client from request
* refactor: v2 API (#12913)
* Use Boolean only instead of git add src/modules/auth/guard/organization-roles/organization-roles.guard.ts
* move tests next to files they test
* replace .. in import paths with absolute path
* camelCase instead of snake_case for access and refresh token variables
* user sanitize function Typescript friendly
* restructure oAuth clients folder: example for other folders
* restructure bookings module
* organize modules in auth, endpoints, repositories, services
* organize auth module
* organize repositories
* organize inputs
* rename OAuthClientGuard to OAuthClientCredentialsGuard
* add error messages
* add error messages
* clientId as param in oauth-flow & schema mapping
* camelCase instead of snake_case for clientId and clientSecret
* access token guard as passport strategy
* folder structure as features
* get rid of index files
* feat: endpoint for deleting oAuth users & oAuth users returned data (#12912)
* feat: delete oAuth users
* check if access token matches userId in parameter
* driveby: return only user id and email in oauth users endpoints
* refactor: access token errors (#12932)
* change error messages
* error message if access token does not exist in our database
* token expired 498
* access token expired message as constant
* store 498 status code as const
* fix: access token error less information given
* chore: invalid access token const
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* feat: external gcal (#12954)
* wip connect gcal
* feat: add external google calendar
* fixup! feat: add external google calendar
* fix: google calendar oauth check invalid
* google cal check tests
* use zod
* fix: await validate access token service
* chore: e2e tests for oAuth flow (#13005)
* fix: accessing length of undefined
* refactor: GetUser throw error if no user provided
* fix: cascade delete PlatformAuthorizationToken if owner or client deleted
* test: POST /authorize
* refactor oauth-flow controller
* refactor oauth-flow controller
* new function to get authorization token by client user ids
* refactor token service
* fix: re-created access and refresh tokens having not unique secret
* oauth flow tests
* oauth flow tests
* feat: abstracted jwt service (#13016)
* remove unused JwtModule from the auth module
* feat: create abstracted jwt service
* refactor: tokens module and service use new jwt service
* refactor: oauth-client module and repository use new jwt service
* implement Morgans requests
* Basic atoms in barebone example platform apps (#13006)
* example app
* example app
* dev move
* fix: more entry points
* fixup! fix: more entry points
* refactor: v2 API (#12913)
* Use Boolean only instead of git add src/modules/auth/guard/organization-roles/organization-roles.guard.ts
* move tests next to files they test
* replace .. in import paths with absolute path
* camelCase instead of snake_case for access and refresh token variables
* user sanitize function Typescript friendly
* restructure oAuth clients folder: example for other folders
* restructure bookings module
* organize modules in auth, endpoints, repositories, services
* organize auth module
* organize repositories
* organize inputs
* rename OAuthClientGuard to OAuthClientCredentialsGuard
* add error messages
* add error messages
* clientId as param in oauth-flow & schema mapping
* camelCase instead of snake_case for clientId and clientSecret
* access token guard as passport strategy
* folder structure as features
* get rid of index files
* feat: endpoint for deleting oAuth users & oAuth users returned data (#12912)
* feat: delete oAuth users
* check if access token matches userId in parameter
* driveby: return only user id and email in oauth users endpoints
* Connect CalProvider and GCal
* Connect CalProvider and GCal
* return response interceptor to handle failed requests
* handle failed requests using axios intercepter
* cal provider refresh tokens, external gcal
* external gcal
* cal provider refresh and retries
* remove console.log
* refactor
* ignore built atoms css
* remove change to token repo
* refactor
* refactor
* downdgrade vite of unrelated packages
* move gcal endpoints to platform
* gcal service
* refactor: use atoms provider
---------
Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
Co-authored-by: Ryukemeister <sahalrajiv-extc@atharvacoe.ac.in>
* feat: user schedule management (#13053)
* platform-constants package: list of accepted schedule timezones
* feat: schedules endpoint to create schedule with default availability
* refactor: rename function
* refactor: store userId for availabilities
* feat: createSchedule endpoint
* feat: get schedules/default
* feat: getSchedule by id
* feat: get all schedules
* feat: delete schedule
* feat: update schedule
* check user owns schedule
* empty test
* define returned data on controller level not repository
* define returned data on controller level not repository
* Revert "define returned data on controller level not repository"
This reverts commit 4c292a0f0762f58bdcad0707ad8eef7408390800.
* use luxton
* put availabilities out of ee
* use guard on controller level
* refactor
* e2e test schedule creation
* remove log
* test
* default schedule get test
* update schedule test
* delete schedule test
* fix update test
* different email for schedules e2e
* driveby: fix yarn test
* schedule inputs availabilities as array
* re-use BaseStrategy class
* feat: me endpoint v2 api (#13274)
* feat: me endpoint v2 api
* simplify
* chore: NestJS throttling (#13011)
* fix: v2 throttling setup (#13402)
* fix: v2 throttling
* fix: setup redis locally
* move sentry files to api v1
* chore: calcom platform libraries (#13444)
* fixup! chore: calcom platform libraries (#13444)
* fix: fix managed users
* feat: user timezone management in `CalProvider` (#13361)
* hooks to fetch and update user timezone
* add react query package
* add logic to check for change in user timezone and update it
* hook to handle timezone changes
* shift timezone handling logic into separate custom hook
* rename variables
* rename hook to get a user
* call useTimezone hook inside of cal provider
* minor refactors
* add variables for api endpoints
* use URL constructor for creating endpoints
* key prop not needed
* use URL constructor for creating endpoints
* chore: package json scripts
* fix(atoms): fix import path of useUpdateUserTimezone
* fix(atoms): build constants and fix ENDPOINTS const
* feat: v2 api event type endpoints (#13449)
* build platform-libraries
* make getEventTypeById compatible with default PrismaClient
* feat: fetch event type endpoint
* handle event type not found
* e2e test for GET
* test
* determine is user org admin for getEventTypeId correctly
* prisma type like before
* add negative test
* POST event-type and return event-type for api and atom
* POST event-type and return event-type for api and atom
* feat: create default user event types when creating managed user
* feat: v2 api me PUT endpoint (#13486)
* add timeZone to me endpoint
* feat: me endpoint PUT
* reset package.json
* standardize creation and updating of user
* user creation: capitalize timezones and week start
* default event type constants in const file
* refactor: defaultTimezone Europe/London in response schema
* refactor: validators
* refactor: default schedule in schedules endpoints
* refactor: patch instead of put
* fix: getEventTypeById organizationId (#13554)
* chore: transpile more libraries functions
* feat: overlay calendar busy dates events (#13581)
* feat: overlay calendar busy times events
* fixup! feat: overlay calendar busy times events
* fixup! fixup! feat: overlay calendar busy times events
* fixup! fixup! fixup! feat: overlay calendar busy times events
* refactor: schedules for atom (#13585)
* schedules get.handler transformers as util functions
* export schedule transformers from platform-libraries package
* schedules for atom
* refactor: schedules response service format response
* remove unused injected dependency
* fix: prevent duplicate calendar account linking (#13310)
* fix: prevent signing up multiple times from same account
* revert: lark calendar changes
* credential clean up if duplicate
* fix code duplication and check before credential creation
* feat: useRouterQuery allow unset queryParam
* feat: showToast on account duplication attempt
* Small tweak to copy
* Updated other calendars not to use checkDuplicateCalendar
* Add account already linked to apps/installed/calendar
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* Revert event-type profile based querying (#13588)
* test: Bookings: Add more automated tests for organization (#13576)
* Avoid selecting unused props
* Add automated tests
* Add existing user invite and booking
---------
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* fix: organization user shouldn't be asked for payment for a premium username (#13535)
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* chore: refactor handle new reccuring booking (#13597)
* chore: refactor handle new reccuring booking
* fixup! chore: refactor handle new reccuring booking
* fixup! fixup! chore: refactor handle new reccuring booking
* test: Create unit tests for the questions (teste2e-multiSelectQuestion) (#11569)
* Remove unnecessary changes
* add changes
* Requested changes
* Requested changes
* FIx failing tests
* FIx failing tests
* Update regularBookings.ts
* FIx failing tests
* Refactor
* add unit tests for all questions
---------
Co-authored-by: gitstart-calcom <gitstart-calcom@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
* fix: update valid_for_secs (#13604)
* fix: Fixes teams UI load issue (#13593)
* fixes teams uiload issue
* revert: yarn.lock
---------
Co-authored-by: Udit Takkar <udit222001@gmail.com>
* chore: upgrades boxyhq jackson (#13477)
* chore: upgrades boxyhq jackson
* Update jackson.ts
reduces bundle size
* Update yarn.lock
* Update apps/web/next.config.js
* Upgrades again
---------
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* upgrades copycat
* feat: PLA-47 Reserve Slots Handler (#13607)
* PLA-44 feat: Platform getPublicEvent (#13596)
* chore: getPublicEvent
* chore: fix
* feat: booker atom bookings platform endpoints (#13613)
* feat: handle new booking
* wip
* feat: handle recurring and instant booking
* fixup! feat: handle recurring and instant booking
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: v2 not running (#13636)
* fix: import from platform-libraries instead of lib
* fix: typescript error
* fix: provide EventTypesRepository to SlotsService
* fix: small change
* Merge branch 'main' into platform
* fix: make v2 run after user model changes (#13653)
* feat: event type atom user connected and destination calendars endpoint (#13559)
* extract connected calendars logic in re-usable platform-libraries function
* extract connected calendars logic in re-usable platform-libraries function
* extract connected calendars logic in re-usable platform-libraries function
* calendars endpoints
* enable calendars endpoint
* calendars type form platform-libraries instead of lib
* finish merging platform branch
* fix dbWrite
* fix: issue after merge platform
* fix: new abstracted function export
* change ee/overlay-calendars to ee/calendars endpoint
* refactor: merge overlay service with calendars service
* ts fix
* body -> query
* chore: Platform get schedule (#13696)
* chore: get available slots
* chore: infer event type isTeam
* chore: nit
* chore: Delete selected slot (#13692)
Co-authored-by: Morgan Vernay <morgan@cal.com>
* feat: v2 endpoint for availability atom timezones (#13687)
* refactor: move cityTimezones handler to lib
* test: incorrect timezone when creating oauth user
* refactor: standardize time zone validation
* feat: schedules/time-zones endpoint returning possible time zones
* refactor: @IsValidTimezone load allowed timezones dynamically
* chore: split timezones to its own trpc router
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* fix after merge main
* feat: platform useGetPublicEvent (#13752)
* feat: platform useGetPublicEvent
* chore: move public event type to libraries
* chore: use const for query key
* fixup CalendarBusyTimesInput optional params
* feat: platform use get available slots (#13756)
* feat: platform use get available slots
* fixup! feat: platform use get available slots
* feat: platform use get connected calendars (#13757)
* chore: platform enable cors (#13774)
* chore: enable cors
* fixup! chore: enable cors
* feat: platform use get calendars busy times (#13759)
* fixup! feat: platform use get calendars busy times (#13759)
* feat: platform use slots hooks (#13785)
* feat: platform use slots hooks
* fixup! feat: platform use slots hooks
* fixup! fixup! feat: platform use slots hooks
* fixup! fixup! fixup! feat: platform use slots hooks
* fixup! fixup! fixup! fixup! feat: platform use slots hooks
* fixup! feat: platform use slots hooks (#13785)
* feat: platform use create boookings hooks (#13797)
* feat: `Availability Settings` atom (#13762)
* styling and updating the examples app
* add custom hooks for availability settings atom
* update default exports
* minor updates
* update cal provider to use react query
* availability settings atom
* dialog from shadcn
* navbar for examples app
* add select skeleton loader in calcom ui packages
* refactors
* define rtl for cal provider
* fox trpc call to avoid merge conflicts
* fix issues caused by merges
* revert changes for rtl
* hook to fetch every city timezones
* implement useGetCityTimezones into timezone component
* minor fix
* update hooks
* add props and intergrate into avaialibility component
* add missing await
* remove logs
* add comments
* invalidate queries after settled
* toaster from shadcn
* add toaster into cal provider
* implement toast on event handlers
* add classnames prop to accept custom styles
* passing custom styles
* update packages
* remove comments
* fix: styling
* fix: useUpdateSchedule
* fixup! fix: useUpdateSchedule
* wip
* feat: availability setting atom
* fixup! feat: availability setting atom
* fixup! fixup! feat: availability setting atom
* fixup! fixup! fixup! feat: availability setting atom
* fixup! fixup! fixup! fixup! feat: availability setting atom
---------
Co-authored-by: Morgan Vernay <morgan@cal.com>
* fix: atoms import
* chore: lock
* fix: types
* fixup! fix: types
* refactor: v2 user timezones (#13944)
* fix: OAuth client form improvements (#13837)
* rename app to apps
* fix type errors, validate redirect url and other fixes
* enable user to add multiple redirect uris
* add id to input to make labels clickable
* translations for oauth form
* improve styles, add translations and add select all button for permissions
* add permissions for profile read and write
* fixes
* nit
* use `useFieldArray` for dynamic fields
---------
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* refactor: check organizationId primarily on user profile (#13969)
* refactor: attach movedToProfile to user
* refactor: check organizationId primarily on user profile
* fix: resolve TS errors to build v2 for prod (#13858)
* feat: atoms typescript build (#13864)
* fix: atoms typescript build
* refactor: dayjs
* refactor: meticulous
* refactor: use vite for type generation
* tsconfig
* feat: given user timezone update update default schedule timezone (#13981)
* refactor: standardize schedules api response
* fix: schedules e2e tests
* refactor: use IsTimeZone class-validator instead of custom built one
* feat: validate managed user timezone
* feat: update default schedule when me schedule updated
* refactor: standardize v2 api returned data (#13984)
* feat: V2 api swagger (#13804)
* feat: v2 API swagger docs
* fix: query param not showing up in docs
* latest swagger.json
* refactor: remove scaffolded sample endpoint
* separate internal endpoints
* oauth-clients and oauth flow docs only in dev
* oauth-clients and oauth flow docs only in dev
* create oauth client response doc
* responses for oauth-clients
* document development only endpoints
* chore: consume auth token on exchange (#13993)
* feat: docker build for v2 (#13918)
* fix: resolve TS errors to build v2 for prod
* WIP: api v2 docker
* arg env dockerfile
* wip
* Revert "wip"
This reverts commit 232adf5b969ef004ae907f3e85b12c2715d9b6bc.
* wip
* wip
* fix docker
* fix docker
* fix docker
* docker
* docker
* expose port 80
* feat: oauth client permissions guard (#14020)
* feat: Permissions guard
* feat: Permissions guard
* tests
* feat: use permissions guard for event types
* extra permissions test
* fix tests
* bokings, gcal, me and schedules permissions
* chore: use availability settings atom and fix useTimezone platform hook (#13934)
* replace availabiilty settings with atom component
* add more props for custom styles
* replace intl with dayjs
* review feedback fixes
* fix: v2 api typescript errors (#14059)
* fix: start:prod script
* fix: v2 me module dependencies (#14073)
* feat: check v2 request origin (#14074)
* feat: check v2 request origin
* drive by: remove console log in test
---------
Co-authored-by: Lauris <lauris@Lauriss-Laptop.local>
* fix date overrides typing issues (#14091)
Co-authored-by: Morgan <33722304+ThyMinimalDev@users.noreply.github.com>
* fix: v2 e2e tests (#14088)
* fix: v2 e2e tests
* fix: yarn e2e tests run 1 after another
* fix gcal test
---------
Co-authored-by: Lauris <lauris@Lauriss-Laptop.local>
* fix: availability atom and access token origin strategy
* fix: availability atom get error from unknown
* feat: booker atom platform wrapper (#14036)
* feat: booker atom, fix hooks
* wip
* feat: booker atom platform wrapper
* fix conflicts
* fix: build v2 internal dependencies upon v2 build
* fix typing of useDeleteOAuth
* fix: isplatform timezone select improt booker event meta
* fixup! Merge branch 'platform' into feat-booker-atom-platform
* refactor
* add video call event types
* disable email and set managed user names
---------
Co-authored-by: supalarry <lauris.skraucis@gmail.com>
* update yarn.lock
* Update .prettierignore
* update post install
* fix: post install
* fix yarn lock
* fix: post install
* fix: types
* feat: enable user control over timezone changes and helpers for query params (#14049)
* helpers to get and set value of a query paramater
* add event handlers and props to figure out the timezone preference of a user
* make onTimeZoneChange handler optional
* fixup
* fix merge conflicts
* fixup
* revert changes
* fixup
* fixup
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix: usetimezone import
* fix: prisma client import
* fix: prisma client import
* fix: prisma client import
* remove post install using vite
* ts fix attempt: pin prisma to same version
* Revert "ts fix attempt: pin prisma to same version"
This reverts commit 2c309f52e3a881e2dbda4185f45e77967bef6925.
* resolve v2 prisma to calcom prisma
* sync v2 and typescript deps
* sync atoms package
* lock file updat
* fix: platform web components move out of pages folder
* ui: allow experimental decorators to fix ts ci error
* app-store: allow experimental decorators to fix ts ci error
* web: allow experimental decorators to fix ts ci error
* fix: github actions v2 api secrets
* add license
* mock useIsPlatform for tests
* fix timezone select tests
* mock useLocale
* fix tests
* fix tests
* fix tests
* fix github actions
* chore: temporarily disable redis (#14142)
* fix: only one migration file for platform
* fix api v1 files location
* fix: disable apiv2 test in ci
---------
Co-authored-by: Ryukemeister <sahalrajiv-extc@atharvacoe.ac.in>
Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com>
Co-authored-by: Erik <erik@erosemberg.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Pratik Kumar <70286186+Pratik-Kumar-621@users.noreply.github.com>
Co-authored-by: Udit Takkar <udit222001@gmail.com>
Co-authored-by: Samyabrata Maji <116789799+samyabrata-maji@users.noreply.github.com>
Co-authored-by: Manpreet Singh <manpoffc@gmail.com>
Co-authored-by: Benny Joo <sldisek783@gmail.com>
Co-authored-by: Dmytro Hryshyn <dev.dmytroh@gmail.com>
Co-authored-by: DmytroHryshyn <125881252+DmytroHryshyn@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Varun Prahlad Balani <varunprahladbalani@gmail.com>
Co-authored-by: Mike Zhou <mikezhoudev@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
Co-authored-by: Haran Rajkumar <haranrajkumar97@gmail.com>
Co-authored-by: Harshith Pabbati <pabbatiharshith@gmail.com>
Co-authored-by: Brendan Woodward <73412688+bwoody13@users.noreply.github.com>
Co-authored-by: Amit Sharma <74371312+Amit91848@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: gitstart-app[bot] <57568882+gitstart-app[bot]@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart-calcom@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Anant Jain <75206987+anantJjain@users.noreply.github.com>
Co-authored-by: Lauris <lauris@Lauriss-Laptop.local>
Co-authored-by: supalarry <laurisskraucis@gmail.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>
* Inital UI + layout setup
* use booker approach of grid
* event-select - sidebar + store work
* adds get schedule by event-type-slug
* Calendar toggle
* Load schedule from event slug
* Add busy events to calendar
* useschedule
* Store more event info than just slug
* Add date override to calendar
* Changes sizes on smaller screens
* add event title as a tooltip
* Ensure header navigation works
* Stop navigator throwing errors on inital render
* Correct br
* Event duration fixes
* Add getMoreInfo if user is authed with current request.username
* Add calendar color map wip
* Add WIP comments for coloured outlines
* Revert more info changes
* Calculate date override correctly
* Add description option
* Fix inital schedule data not being populated
* Nudge overlap over to make it clearer
* Fix disabled state
* WIP on math logic
* Event list overlapping events logic
* NIT about width
* i18n + manage calendars link
* Delete old troubleshooter
* Update packages/features/calendars/weeklyview/components/event/EventList.tsx
* Remove t-slots
* Fix i18n & install calendar action
* sm:imrovments
* NITS
* Fix types
* fix: back button
* Month prop null as we control from query param
* Add head SEO
* Fix headseo import
* Fix date override tests
* Init + get timezone + offset data agh
* Add 12/24h mode - style correctly
* User users timezone + working hours. Still some stuff to figure out
* Multiple working hours
* move calc to once per day
* Demo with two users and differnt timezones
* availabillity control tab via search params
* WIP hover overlay
* THIS WORKS ISH
* fix: multiple duration getSchedule calls [CAL-2336] (#10709)
Co-authored-by: Omar López <zomars@me.com>
* New Crowdin translations by Github Action
* fix: If the input type "Name" is selected, the label can't be changed from our default label "Your Name" (#10618)
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* New Crowdin translations by Github Action
* test: Create unit tests for react components in packages/ui/components/form/step (#10442)
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
* feat: element call app added (#10585)
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* New Crowdin translations by Github Action
* New Crowdin translations by Github Action
* fix: e2e test for rescheduling overlapping time (#10721)
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* feat: mailhog fixture (#10606)
* feat: mailhog fixture
* fix: nodemailer to dispatch emails with e2e env
* fix: remove space from email subject
* feat: fixture getFirstEventAsOwner
* feat: assert email subjects
* fix: and enable dynamic booking test (#10642)
* fix and enable dynamic booking test
* remove page pause
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix: Broken team events if a user with the same name exists (#10724)
* fix: Broken team events if a user with the same name exists
* Fix tests + fix usernameList optionality
* Try to list calendars, if not continue (#10720)
Co-authored-by: Omar López <zomars@me.com>
* v3.1.9
* link to org settings (#10718)
* feat: app paypal payment (#8797)
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Omar López <zomars@me.com>
* fix: RTL issues on booking pages + email confirmation (#10526)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: merge conflict
* Fixing org slug (#10538)
* fix: paypal build fixes
* Fix avatar for org in Shell top (#10712)
* feat: add range of dates for availability over-ride (#10462)
* feat: add range of dates for availability over-ride
* chore: changed range select to multiple select
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix: border issue for time slots (#10577)
Co-authored-by: Raghul D <v-raghuld@microsoft.com>
* style: Fix text wrapping issue in button (#10725)
Co-authored-by: Omar López <zomars@me.com>
* New Crowdin translations by Github Action
* fix: App Install Dropdown Sort Properly [CAL-2285] (#10672)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* fix: link escaping in booking page (#10360)
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* chore: fix refund i18n message (#10731)
* chore: remove tailwind-scrollbar warning (#10523)
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* New Crowdin translations by Github Action
* chore: Simplified date overrides (#10728)
* chore: Simplified date overrides
* Fixed a test that had a date override that wasn't at midnight utc
* Wrote test that showed a fixed Europe/Brussels
* Lint fix
* New Crowdin translations by Github Action
* Fix offset time + fetching correct dates
* Deal with awkward minute offsets
* remove store overhead
* Format H based on tz
* Cleanup store logic
* Cleanup
* Remove comments
* Remove comments
* Remove yarn.lock
* Dark mode & v-align text fixes
* Move ButtonGroup to the left to prevent chevron from jumping
* Shift based on timezone (non-hour) and have 15min granularity in hour display background color
---------
Co-authored-by: Leo Giovanetti <hello@leog.me>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Zain Gulbaz <zaingulbaz8@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: GitStart-Cal.com <121884634+gitstart-calcom@users.noreply.github.com>
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Keith Williams <keithwillcode@gmail.com>
Co-authored-by: Suyash Srivastava <suyashsrivastava5053@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Shivam Kalra <shivamkalra98@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com>
Co-authored-by: Pradumn Kumar <pradumn@tealfeed.com>
Co-authored-by: Raghul <123321540+Raghul18@users.noreply.github.com>
Co-authored-by: Raghul D <v-raghuld@microsoft.com>
Co-authored-by: ABDERRAHMANI IDRISSI HAMZA <97639117+idrissi-hamza@users.noreply.github.com>
Co-authored-by: Nafees Nazik <84864519+G3root@users.noreply.github.com>
Co-authored-by: Danila <daniil.demidovich@gmail.com>
Co-authored-by: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com>
* feat: add range of dates for availability over-ride
* chore: changed range select to multiple select
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
## What does this PR do?
This is not the cleanest approach, but the existing mechanism didn't work in a few situations because of the date sort. The update caused a re-render that caused an invalid unsortedFieldArrayMap.
Reproduction/how to test:
**Updating bug was hit when you changed the date and it went before another date (re-ordering)**; which then modified the wrong date override. This PR replaces the entire array which retains the correct sort order by brute force.
**Delete bug was encountered if the sorted order was not the same as the filtered order, which depends on the order you created the date overrides in**. This PR implements an original order before the sort causing the right item to be removed.
Fixes#8043
## What does this PR do?
Fixes all date shifts that are due browser time, by ensuring everything is UTC so it's not transformed to different times.
The times weren't actually shifting, dates were, but after casting these to UTC properly the times were also shifting; so that was a bug after a bugfix, time wise it was only a problem to determine all day events (which didn't completely work)
### Yes, but how do I test this?
Before:
Create a all day date override in +05:30
Shift your local system time to -04:00
Note that the day is different
After - do the same:
The day is the same!
Fixes#8365Fixes#6978Fixes#6482
* [CAL-1517] fix all Typescript warnings
* solve conflicts
* Update stripeCheckoutSession.handler.ts
Parse is a guard, so even though the variable is unused the parse itself is needed.
* Update ToolbarPlugin.tsx
Don't change dependency tree
---------
Co-authored-by: gitstart-calcom <gitstart@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix(translation): translation for add an override
fixes#8914
* fixup: remove extra { from file
* chore: remove other translations
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Wip on booker atom
* Wip on booker atom
* Added correct icon imports
* Fixed build
* Responsive improvements
* Removed package lock
* Responsive tweaks
* Animation improvements and cleanup
* Animation improvements and event meta layout improvements.
* Tweaked margins.
* Added more event meta blocks
* Layout tweaks
* Converted booker layout to css grid and implemented multiple layout options
* cleanup
* Fixed build
* Fixed build
* Added temporary api route to enable/disable new booker
* Added sticky behavior
* Reverted yarn.lock and reinstalled new packages to see if this fixes build on vercel.
* Ensure divider lines always have 100% height.
* Improved animation config + initial load
* Ensure to pass eventid to getschedule, otherwise custom availability schedule wont work and wont return any availability
* Fixed divider line heights in booker
* Fixed timezone select positioning
* Added ability to view multiple days of timeslots
* Added icons to booker toggle
* Always show timeslots in timeslots view, also if no date is selected yet. In that case we show upcoming 5 days.
* Fixed timeslots in small calendar view
* Show selected day in calendar
* Fixed booker timeslots view
* Wip in making booking form work
* Moved most of the booker atom stuff to features, since it belongs there. Atom should be a rather small wrapper.
* Added create event functionality to booker form.
* Added guests toggle to booker form and styled input addons in dark mode.
* Added dynamic weekstart to booker
* Added seats limit feature to timeslots.
* Removed todo
* Added correct event avatars
* Added correct event name and icons
* Added correct translation for minutes text in multi duration
* Add rescheduling functionality to new booker.
* Added selected booking time to booking meta in sidebar.
* Abstracted away timeformat to custom hook
* Added correct key props to all components in booker.
* Fix build
* Create some new custom hooks to have a lot less repitition in code.
* Moved bookerform component inside booker directory since it is tied to it.
* Added error messages to booker form, plus fixed bug in recurring events.
* Added some comments <3
* Fixed todos in booker form.
* Added loading state for timeslot selector, and added prefetching of next month, in case of multi day view showing 2 months at the same time.
* Fixed import paths
* Added away view
* Validate uniqueness of event attendees.
* Tweaked comment
* #5798 added correct date format and style for selected date in booker.
* UI improvements
* Enable possibility to add booking values via query params.
* Added functionality to update query params when user selects date/duration etc in booker
* First steps in adding e2e test.
* Fixes after merge with main, and added new form builder.
* Implemented new form types and validation to booker, confirming new form builder. Validation still throwing wrong error keys though.
* Added search to timezone dropdown
* Added e2e test for booker (copy of current booker tests, only enabling cookie), plus fixed reschedule view.
* Updated yarn.lock
* Added new booker for team pages.
* Fixed input addon (hover) styles.
* Added dynamic booking.
* Hide timeformat select for multi day view for now.
* Cleanup and ui tweaks
* removed log
* Mobile improvements
* Cleanup
* Small design tweaks after talking to ciaran.
* Text color and weight tweaks in booker
* Added rainbow gates to new booker.
* Added in default values which fixes form vallidation (???).
* Added empty defaults for name and email
* Added metadata
* Reset yarn.lock
* Fixed booker zod validation after change in main.
* Icon tweak
* Fixed timezone select styles after new classnames have been merged.
* Updated seat availability styles.
* Update yarn.lock
* Added explanation for alchemy key to .env.example
* Added tooltip to booker month/week/multiday toggle
* Fixed timezoneselect styles in booker after select updates.
* Updates bookingfields component by taking changes from current booker component
* Removed remaining booker todos
* Fix bookeventform
* Fix for recurring event meta
* Type fixes
* Typefixes
* Team event fixes
* Avoid hydration errors by only rendering date picker client side. Remove web3 gates since we dont offer them anymore. Prevent timeslot select from staying open when switching to a different month.
* Don't show calendar on mobile booker during booking.
* Always align booker buttons to bottom
* Don't show backend messages in error, rather show a helpful text like the current booker does as well.
* Do invisible next rewrite based on cookie from next.config.js (#7949)
* Do invisible next rewrite based on cookie from next.config.js
* Name embed link instead of bookerPath
* Rewrites only dynamic user pages
---------
Co-authored-by: zomars <zomars@me.com>
* Don't allow change of timezone when bookerform is visible
* Don't add duration to query param if the event is not a multi duration event.
* Update next.config.js
* Added correct timezone formatting to event meta when timeslot is selected.
* removed .env variable that isn't needed anymore.
* Update Gates.tsx
* Type fixes
* Allows to run all tests with the new booker
* Fixed timezone select styles after merge.
* Don't throw error when event doesn't have hosts, rather return no users, which will result in no availability in UI.
* Make booker errors of severity info instead of warning.
* Ensure team avatars are shown, as well as filter on uniqueness of avatars.
* Added all booked today message to timeslots.
* Added cal.com logo to booker.
* Fixed fragment classname error, minor mobile animation tweaks plus make all booked today text smaller for multi day layout.
* Improved timezone select styles, and updated arguments of getbooking function after updates in main.
* Prevent infinite loop in rewriting new booker.
* Prevent infinite loop in rewriting new booker.
* Moved new-booker pages to their own directory to prevent regexes confusing next and thus nut running getserversideprops after rewrite. Also adding clearing of old date in booker store, that could stick around when user immediately navigates back to the same page after booking.
* Fixed cal logo color in darkmode for new booker.
* Implemented new color tokens and theme variables. Also small design tweaks after merge with main.
* Minor style tweaks
* Show multiple locations in tooltip on booker #8222
* Radio button style tweaks
* Fixed build
* Updated calendar imports to new lucide names
* Removed resetting of selected times logic, because otherwise url params wouldnt be taken into account which is actually what we want. So old values sticking around when navigating back is actually the desired behavior.
* Updated tests to instead of always run the new booker in tests, have a utility to run both the new and old booker for specified tests.
* Added comment and eslint disable for if statement in booker test.
* Update packages/features/bookings/components/event-meta/Details.tsx
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
* Fix badge types
* Lazy loaded timezone select to save 85kb in bundle size.
* Upgraded framer to latest. Als moved framer and react sticky deps to features instead of atoms.
* Added new pagewrapper logic
* Simplified rescheduling ssr fetches, this now also supports multi seat rescheduling.
* Unset selected time when user is rescheduling directly after a new booking, otherwise it would show the form instead of new time selection.
* Updated form builder logic as per form builder in current booker.
* Updated form builder prefill logic as per logic in current booker.
* Updated getbooking function to fetch correct details when a reschedule uid is used
* Fixed booking questions test by NOT waiting for /book page because the new booker doesnt have this.
* Added former meeting time to reschedule view.
* Fixed types
* Undo playwright config update by mistake.
* Fixed event types test by only waiting for /book page in old booker
* Set new booker cookie to one year in the future instead of 2050
* added reset mockdate to test
* Temporary disabled test to see if this solves the out of memory error.
* Deleted test to see if that fixes the memory error
* Select first day when switching months in booker
---------
Co-authored-by: zomars <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: sean-brydon <55134778+sean-brydon@users.noreply.github.com>
Co-authored-by: Sean Brydon <sean@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* migrate from react-icons to lucide-react
* replace react-icon with lucide-dev: Webhook Icon
* add lucide transformer
* Fix LinkIcon import
* Update yarn.lock to include monorepo deps
* Migrated icons in ChargeCardDialog
* Port Storybook to new icons as well
* Adjust Info & Globe icons size to match react-icons size
---------
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Set default schedule if there is not one
* Removing last schedule sets user.defaultScheduleId to null
* Create new schedule from event type
* First schedule created is the default
* Go back if new schedule was created
* Moved update logic out of getter
* Remove flashing of empty screen
* Add border prop to EmptyScreen
* User requires a schedule
* Change back schema
---------
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Removed some of the UTC logic which shouldn't be there
* Upgrade rhf, remove SSR on [schedule] page
* Fix potential bug with date
* Amend schedule trpc call & don't show edit availability if id is undefined
* type fix
* Order date overrides in list by date
* Changed logic to check for unavailable
* Fix bug report spotted by @CarinaWolli
I can save date overrides for march 1st and 2nd (my date/time when saving was march 1st at 11PM GMT-5). It is saved successfully in the database however the date overrides don't show up in the list.
That's why:
- new Date() is utc so it is already march 2nd
- override.date has always timestamp 00:00 so it is also smaller than the utc time which was in my case 2023-03-02T04:00
* Actual fix, gotta remember it's the schedule tz