* WIP teams billing page
* WIP
* Create settings page
* Remove unused imports
* Create stripe customer on team creation
* Add Stripe ids to team record
* Add Stripe price ids for team to .env
* Create & delete Stripe customers
* Add string
* Merge branch 'main' into v2/teams-billing
* Create checkout session when creating team
* Create webhook to update team with Stripe ids
* Add Stripe migration files
* Move deleting team from Stripe under ee
* Some cleanup
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Small clean up
* Link to team's portal page
* Fix types
* Fix type errors
* Fix type errors
* Fix type error
* Delete old files & type fixes
* Address feedback
* Fix type errors
* Removes team creation modal
* WIP
* Removed billing frequency from team creation
* Add Stripe check for delete team customer
* Merge branch 'v2/teams-billing' of https://github.com/calcom/cal.com into v2/teams-billing
* Add high level form to create new team
* WIP
* Add new team to form
* Validate for invited members
* Add translations
* WIP
* Add validation for team name
* Add validation to team slug
* Clean up
* Fix type error
* Fix type errors
* WIP
* Abstract invite members function
* Add subscription status column
* Hide pending teams from settings
* Send email on paid subscription
* WIP
* Sync packages
* Add team subscription cols to schema
* WIP
* Matches locks vite version to <3
* Removed subscriptionStatus
* WIP
* Fix warning
* Query optimizations
* WIP
* Cleanup
* Wip
* WIP
* Runtime error fixes
* Cancellation fixes
* Delete team fixes
* Cleanup
* Type fixes
* Allows to check memebership in getTeamWithMembers
* Adds team creation tests
* Cleanup
* Cleanup
* Restored change
* Updated copy
* Moved component
* Cleanup
* Fix team members view
* Cleanup
* Adds failsafe for skipping publishing on update
* Cleanup
* Feedback
* More feedback
* Cleanup
* Cleanup
* Feedback
* Feedback
* Feedback
* Adds edge-case for slug conflicts
* Feedback
* e2e fixes
Co-authored-by: Joe Au-Yeung <j.auyeung419@gmail.com>
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* add first version of testing routing forms
* small design changes
* use new shared component
* readd deleted code for showing result route
* add form validation for required fields
* design fixes
* add scroll
* fix design of select
* use old dialog with correct overflow behaviour
* code clean up
* remove unused import
* fix mobile view
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* fix: update form methods when username is updated
* Using RHF to decrease state logic in profile.tsx for UsernameAvailability (#5405)
* Type fixes & fixed onboarding
* Removed undefined allowed value + removed invalidation
* No longer need usernameRef.current.value
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Sendgrid app and code simplification
* Applying app-store-cli + impl
* Fixing types
* Adding features to readme
* Fixing unit tests
* A few last tweaks regarding UX and env vars
* Applying feedback
* Using calcom icons
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Guests will be able to add their own location or in person meetings
* fix type error
* fixed issue with attendees location not showing on success page
* google meet booking will now go through, removed unnecessary change
* filter out attendee address when editing location
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add validations for server side loading of bookingInfo for seats event types
* Fix prop used for validating if booking has seats enabled
* Fix types
* Removed frontend filter for seatsShowAttendees as not needed anymore
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Improving recurring info in bookings
* Adding fixes to success page, it was invalid on custom tz
* Remove dead code
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* storybook v2 init
* Merge config into storybook vite build
* Remove path
* Storybook config tweaks
* Added styles and settings for storybook v2, and started working on button documentation and examples.
* Badges + flex wrap on mobile
* Breadcrumbs+button+avatar
* Checkbox
* Input + moving files around
* WIP table
* WIP table grid
* Replaced imports for new components.
* Added first steps for varianttable.
* Small alignment fix.
* Custom Args Table - With scrollbar
* Adding table to components that need it + darkmode
* Add intro
* Fix types
* Remove V1 storybook and replace with V2
* Fix badge type error
* Fixed storybook dependencies
* Added cover image to storybook
* Remove vita from ts config, we dont use vite.
* Fixed button import.
* Explained postcss pseudo plugin.
* Fixed badge import.
* Add Avatar Stories
* ButtonGroup Stories
* Fixed imports
* Add checkbox stories
* Add exports for differnt types of inputs
* Fix form and text area input
* Fix mass import errors
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Fixes the localisation issue with recurring events
* Implement DST as Dayjs doesn't
* Fixed generated booking URL when different TZ is set
* manually apply DST offset to times
* Fix type error
* feat: return data fromsetupDefaultSchedule
* feat: update returned data of "schedule.update" resolver as same as "schedule" query resolver.
* feat: set query data from updated results and invalidate prev default availability if it's changed.
* chore: add comments
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add Choose common schedule togglee
* Fix types
* Add translations
* Improve variable name
* Move setting to config so that all such lightweight boolean settings can exist here
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Added generic image variant for og images.
* Made og and meta descriptions longer, removed difference between longer and shorter descriptions now we only have one variant.
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* If due to some reason avatar URL is same as route, avoid infinite redirection by serving default
* Fix avatar reverting issue
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Fixing types from handleErrorJson usage and Credential
* Replace credential prisma type for a better suitable
* Improvements on zoom video adapter
* Renamed extendedCredentialType and put it in a best suited file
* Frontend display invalid credential
* Fix styles and text
* Fix type required for fake daily credentials
* fix: modal close on click outside
* fix: for sm viewport
* add: main class
Co-authored-by: root <root@pop-os.localdomain>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* add sms notification phone number to success page
* remove duplicate translation
* add non breaking space between sms and notifications
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
* Aded new togglegroup component.
* Make 12/24h time format toggle functional and store value in localstorage.
* Responsive tweaks
* Added translations
* Added 12/24h timeformat hint on profile page.
* Update apps/web/public/static/locales/en/common.json
Co-authored-by: Omar López <zomars@me.com>
* Structural fix to recurring times
* Remove conversion regression
* Revert current time -> startTime based utcOffset
* Fixing remaining events count
* Using user's preference for recurring tooltip
* Missing refactor
* Showing better datetime in booking page
Added an extra seeded example for recurring
Co-authored-by: Leo Giovanetti <hello@leog.me>
* fix: layout shift in ss apps page
* Fix for mobile style justify-center
Co-authored-by: root <root@pop-os.localdomain>
Co-authored-by: Alan <alannnc@gmail.com>
* Abstracting booking cancellation
* Tweaking to use id and not uid
* Standardizing http errors
* Moving schema to prisma zod-utils
* Update apps/web/pages/api/cancel.ts
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Cancel only for delete and post verbs
* Make cancellation work with uid, and id
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Embed SSG and consistently pass embedType query param across pages
* Embed fixes
* Code cleanup
* Add main class which tells embed which helps in identifying which area is outside the main content
* remove any special optimization handling for routing forms
* Add comments
* Small fixes
* Fix broken team booking page in embed
* Fix Fallback message dark theme
* TS Fixes
* Fixes
* Fix tests
* Remove not required code
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* wip reintroduce SAML SSO
* Fix the imports
* wip
* Some tweaks
* Fix the type
* Reduce the textarea height
* Cleanup
* Fix the access issues
* Make the SAML SSO active on the sidebar
* Add SP's instructions
* Remove the console.log
* Add the condition to check SAML SSO is enabled
* Replace SAML SSO with Single Sign-On
* Update to SAML feature
* Upgrade the @boxyhq/saml-jackson
* Fix the SAML part and other cleanup
* Tweaks to SAML SSO setup
* Fix the type
* Fix the import path
* Remove samlLoginUrl
* Import fixes
* Simplifies endpoints
Co-authored-by: zomars <zomars@me.com>
* Add seatsHideAttendees to schema
* Add migration
* Add frontend option to hide attendees
* Pass hide attendees to email
* Hide attendee names on success email
* Add types for existing attendees
* Hide other attendees if hidden
* Pass seatsHideAttendees to Google Cal
* Add translation
* Reduce redundancy
* Fix type error
* Change toggle to show attendee information
* Minor text change
* Fix type errors
* Update snapshots
* Merge branch 'main' into seats-hide-attendees
* Add back email
* Add close.com specific types
* Add eslint ignore comments
* Merge branch 'seats-hide-attendees' of https://github.com/calcom/cal.com into seats-hide-attendees
* Simplify tests
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* fix: remove loading state
* feat: use optimistic update for deleting
* feat: use optimistic update for hiding
* Moved PR changes
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: zomars <zomars@me.com>
* Standardize destination calendar selector
* Move DestinationCalendarSelector to feature package
* Render integration name
* Add custom components to label and selected
* Render destinationCalendar on page load
* Change name to just Outlook
* Small fixes
* Merge branch 'main' into hotfix/install-calendar-overflow
* Merge branch 'main' into hotfix/install-calendar-overflow
* Fix type errors
* Fix type errors
* Update apps/web/pages/settings/my-account/calendars.tsx
* More type fixes
Co-authored-by: Omar López <zomars@me.com>
* #4252 Use vercel og to generate og images for meetings and apps.
* Removed duplication.
* Added new design for og images (wip).
* Implemented og image design for meeting image, including support for all variants.
* Implemented design for app og images.
* clenaup
* Fixed types
* Added the option to not render headseo in main shell in order to render your own.
* Added comments.
* fix
* Small tweaks.
* Fixed lock file.
* Fixed types
* Optimized svg's so vercel og supports them.
* Fixed og image on user page.
* Added truncate utils.
* Small style tweaks
* App og image alignment.
* Added og image to team/slug pages.
* Added correct variable to og image path constant.
* add phone number required checkbox
* make input required only if numberRequired is true
* fix error that smsReminderNumber is null
* code clean up
* fix typo
* save no input as null
* fix code change
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* add: auto complete for slug
* Remove useStates not required for feature
* remove: states logic
* Using touched validation from react-hook-form
* Fix size of width for steps indicador
* Apply same changes for react-hook-form touched from createNewTeam
Co-authored-by: root <root@pop-os.localdomain>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alan <alannnc@gmail.com>
* wip added QR code app, needs settings
* added QR code settings, needs eventType.URL
* Make URL prop available to apps
* Add recurringEvent in available. It was missing earlier
* added autoAnimate to AppSettings
* Remove isSunrise demo prop
* Simplify schema even more
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* fix phone number input when attendee phone number is default checked
* add selected location for rescheduling and remove default checked
* don't show locations when rescheduling on availability page
* fix type error
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Removed v2 pages directory, moved all pages to root and deleted old v1 pages and middleware redirect.
* Removed v2 from imports path.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Fixed dropdown width according to items
* Add the “Add” before the calendar type item
* Fix dropdown cut off on mobile
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
* added weather in calendar wrapper
* added textfield to weather app, needs GeneralSettings abstraction
* add automation cateogry for n8n and zapier
* fix border radius for seperated apps
* create app specific settings in installed apps
* Fixed design issues caused by app settings
* add first version of template cards with logos
* Add link to zapier template
* Add missing translations
* fix mobile view
* better readable app description in mobile view
* code clean up
* fix issue that lisItem was always expanded
* code clean up
* code clean up
* fix import
* fix typo
* code clean up
* Add AppStore General Settings support
* add missing alt to img
* use FiShare2 icon instead of FiZap
* Remove duplicate entries
* Add border to AppSettings consistently
Co-authored-by: Peer Richelsen <peer@cal.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* add automation cateogry for n8n and zapier
* fix border radius for seperated apps
* create app specific settings in installed apps
* Fixed design issues caused by app settings
* add first version of template cards with logos
* Add link to zapier template
* Add missing translations
* fix mobile view
* better readable app description in mobile view
* code clean up
* fix issue that lisItem was always expanded
* code clean up
* code clean up
* fix import
* fix typo
* code clean up
* add missing alt to img
* use FiShare2 icon instead of FiZap
* Remove duplicate entries
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Add OmniInstall button
* Make AppCards configurable by the app itself
* Make OmniInstallAppButton not redirect
* Fixes
* Add extendsFeature support to CLI
* Move to automatic file generation approach as dynamic import checking doesnt work correctly
* Use zod everywhere consistenly for metadata and fix all TS issues
* Fix viewer.eventTypes endpoint. Make prisma base select and _ prefixed models consistent in expecting scalars only
* Remove unnecessary zod parsing of event-types as it is making the scope of the PR huge
* Fix UI TS errors
* wip
* Add zod types support in EventTypeAppCard.tsx
* Fixes during PR review and other failing tests
* Remove unused app
* Fix stripe installation flow
* More fixes
* Fix apps and active apps count
* self review
* Add loading attribute to OmniInsall button
* Handle empty state
* Improve types
* Fix stripe app installation bug
* added fathom app (#4804)
* added fathom app wrapper, needs script injection to public booking page
* new logo
* Add Fathom script support on booking pages and add it as an eventTypeapp
* Add automation and analytics apps
* Add missing pieces for analytics category
* Rename BookingPageScripts to BookingPageTagManager
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
* Fix lint error
* Fix runtime error with legayAppData being undefined
* Remove duplicate automation key
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Add back auto-scroll fix with proper check of visibilith
* Do improvement in CLS and dont show "Loading" text
* Improve experience with routing forms embed
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Moved booking logic to calcom/features
Needed to reuse on public API
* Type fixes
* Cleanup
* Cleanup
* Cleanup
* Restored still needed V1 pages
This reverts commit 790a304a6a.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Add db relevant stuff
* Basic UI there still buggy
* This UI is hard - some progress
* Fix awful state mangament
* Fix re-ordering
* Working UI logic!
* Partical working minMax function
* Fix min max
* bookingLImits api + tests
* Moved checkBookingLimits to backend only code
* Fix httperror import
* Return busy times
* Remove avaliablity calc
* Working for everything but year
* Remove redundant + fix async forloop
* Add compatible type
* Future proof with evenTypeId filter
* Fix commonjson
* Sorting + validation + tests + passing
* Add empty test
* Move validation check to backend
* Add bookinglimits in trpc
* Add test for undefined
* Apply suggestions from code review
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Update apps/web/components/v2/eventtype/EventLimitsTab.tsx
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
* Rename value for eligiability
* Rename keyof type
* status code
* Fix toggle not toggling off
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Update apps/web/pages/v2/event-types/[type]/index.tsx
Co-authored-by: Omar López <zomars@me.com>
* Change back to undefined as it is working for sean. See if it fails on testapp
* Fixing test builder
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: Jeroen Reumkens <hello@jeroenreumkens.nl>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* added badge for unconfirmed bookings
* added link to unconfirmed bookings
* added rounded prop to badge, added unconfirmed badge to botto nav
* Supporting recurring events + bug fix
* Tooltip and hover style
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Leo Giovanetti <hello@leog.me>
* Improve responsive layout for timezone select on booking page.
* Close TZ dropdown on booking page when it's hidden for mobile/desktop, this prevents having a dropdown menu floating around.
* Improved animation for showing timeslots on booking page.
* Changed back button on booking page to sm+ to md+ like it was before.
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* add after event ends workflow trigger to enum
* add after meetings ends trigger
* fix label for time span
* add deleted label for message template
* add lost changes from merge conflict
* set reminder for already existing bookings
* fix label 'How long before event starts/ends'
Co-authored-by: CarinaWolli <wollencarina@gmail.com>
* nit
* added timezoneChangeDialog
* prevent interactOutside
* nit
* fixed title prop clash
* nit
* remind in one day if clicked outside
* Use utcOffset instead of tz string for checking diff
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Improve responsive layout for timezone select on booking page.
* Close TZ dropdown on booking page when it's hidden for mobile/desktop, this prevents having a dropdown menu floating around.
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* added ?tabName=setup to event-type detail link to give it active status (#4830)
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Use pathname instead of href directly
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Add try/catch on workflows while confirming a booking
* Revert "added ?tabName=setup to event-type detail link to give it active status (#4830)"
This reverts commit 11c44db609.
Co-authored-by: Omar López <zomars@me.com>
* Display error if trpc query failed, catch error on getting calendar and cleanup to don't leak credentials to client
* Add calendar connection broke error
* Edit style on alert and disconnecting button
* Ts errors and added translation
* Type fix
* Key and text change for broken calendar connection
Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* #4533: Store timeformat preferences in localstorage when changing profile. This way you see the correct format on the booking page. Also abstracted the reuse of the localstorage key for timeformat into a small util function, to prevent typos in the future.
* Update apps/web/components/booking/pages/AvailabilityPage.tsx
* 4533: Changed 24hfromlocalstorage values from strings to real booleans for better DX.
* Update apps/web/lib/clock.ts
Co-authored-by: alannnc <alannnc@gmail.com>
* Make code shorter by only handling remaining cases
Co-authored-by: alannnc <alannnc@gmail.com>
* Remove unnecessary boolean check
Co-authored-by: alannnc <alannnc@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: alannnc <alannnc@gmail.com>
* Change package.json version and yarn lock
* Add popover
Co-authored-by: Alex van Andel <me@alexvanandel.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* revert me later
* let's see if this builds
* fix dupe proc
* fix: v10 works
* fix type error
* fix type error
* fix type errors
* fix more
* add example procedure
* spreading not needed
* Update yarn.lock
* Revert "revert me later"
This reverts commit 0c8c15d057.
Co-authored-by: Chris Bautista <chrisbautista@netflix.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* Improved team layout when blocks have unequal content length.
* Removed unused translation in members component.
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Hide nav on subpages based on backPath. Add backPath where it was missing
* Fix heading not showing on mobile
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Animate fields list and routes list
* Rename routing_forms slug to routing-forms
* Add comments
* Fixtypo
* Add dropdown separator for consistency
* Fix missing occurences of routing_forms and improve types for webhooks
* Fix weird error about title child is an array
* Fix webhook issues
* Fix webhook tests and issues found during fixing them
* Fix lint errors and warnings
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* Fix displaying both loading and calendar list while returning to page from calendar, added redirect on SSR for installed/calendar page
* Use SSR only for installed/[category] page because of redirect requirement based on cookie
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Hariom Balhara <hariombalhara@gmail.com>