Commit Graph

235 Commits (8f6689cfc121439ab8fc96cd6b81f1c7584b9734)

Author SHA1 Message Date
Omar López dd9f801872
cal 485 prevent users from changing their username to premium ones (#799)
* Makes userRequired middleware

* Prevent users from changing usernames to premium ones

* refactor on zomars' branch (#801)

* rename `profile` -> `mutation`

* `createProtectedRouter()` helper

* move profile mutation to `viewer.`

* simplify checkUsername

* Auto scrolls to error when there is one

* Renames username helpers

* Follows db convention

Co-authored-by: Alex Johansson <alexander@n1s.se>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-28 09:57:30 +01:00
Alex Johansson 649e79bdc7
statically render profile pages (#615) 2021-09-27 17:09:19 +01:00
Alex Johansson 34300650e4
add tRPC (#614)
* add trpc

* trpc specific

* fix deps

* lint fix

* upgrade prisma

* nativeTypes

* nope, not needed

* fix app propviders

* Revert "upgrade prisma"

This reverts commit e6f2d2542a.

* rev

* up trpc

* simplify

* wip - bookings page with trpc

* bookings using trpc

* fix `Shell` props

* call it viewerRouter instead

* cleanuop

* ssg helper

* fix lint

* fix types

* skip

* add `useRedirectToLoginIfUnauthenticated`

* exhaustive-deps

* fix callbackUrl

* rewrite `/availability` using trpc

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-27 14:47:55 +00:00
Alex van Andel c22beb698c
Fixes the Radix UI warning for consistent IDs (#774)
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2021-09-26 21:55:27 +00:00
Omar López 7ab49acebe
Fixes eventype form (#777)
* Type fixes

* Uses all integrations and session fixes on getting started page

* eventtype form fixes

* Update pages/event-types/[type].tsx

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-26 21:49:16 +00:00
Omar López 9e7cb2c0b8
CAL-469 Adds intercom dynamically (#762)
* Adds react-use-intercom

* Adds intercom env var

* Loads intercom dynamically if env is set

* CAL-473 Fixes client-side routing for authed pages

* Moves intercom code to ee

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
2021-09-24 21:02:03 +01:00
Alex Johansson f709972f86
ui bug: alert looking funky (#766)
* tweak alert text to be growing
* fix alert looking funky
* get rid of `typeof window` dirt
2021-09-24 06:52:00 -06:00
Omar López 420daec147
CAL-473 Fixes client-side routing for authed pages (#763) 2021-09-24 11:16:46 +01:00
Alex van Andel ad3a06384f
Fixes a crash caused by too many redraws (#759) 2021-09-23 23:30:09 +01:00
Omar López bcacc1d166
More availability fixes (#755)
* Abstracts MinutesField

* Adds missing Minimum booking notice

* Refactoring

* Fixes int field sent as string

* Sorts slots by time

* Fixes availability page

* Fixes available days

* Type fixes

* More availability bugfixes
2021-09-23 18:18:29 +01:00
Omar López cb4a1e031e
Fixes user event availability page (#749)
* Abstracts MinutesField

* Adds missing Minimum booking notice

* Refactoring

* Fixes int field sent as string

* Sorts slots by time

* Fixes availability page

* Fixes available days
2021-09-23 15:08:44 +01:00
Mihai C 82e7e51fca
Setup i18n and locale detection (#712)
* feat: setup translations

* feat: i18n setup

* Update pages/settings/profile.tsx

Co-authored-by: Alex Johansson <alexander@n1s.se>

* fix: abstract locale hook

* fix: set default locale if preferred locale is not supported

* Revert "fix: set default locale if preferred locale is not supported"

This reverts commit e2a3d81371.

* fix: set default locale if preferred locale is not supported

* fix: use 1 namespace and remove unnecessary logs

* fix: yarn.lock

* fix: linting errors

Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: Alex Johansson <alexander@n1s.se>
2021-09-23 09:49:17 +01:00
Nico 3764a9d462
Bugfix/include zoom location (#715)
* Store video data in event location; fixed several types

* fixed malformed id

* Insert Zoom data when updating as well

* Add columns to store (video) meetings

* Store meeting data

* fixed type

* Use stored videoCallData

* Store location in field as well

* Use meta field for booking reference

* Introduced meta field in code

* Revert "Introduced meta field in code"

This reverts commit 535baccee3.

* Revert "Use meta field for booking reference"

This reverts commit 174c252f67.

* Linting fixes

Co-authored-by: nicolas <privat@nicolasjessen.de>
Co-authored-by: Peer_Rich <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-22 23:43:10 +01:00
Omar López d194878bb2
Suggestion: let prettier sort imports order (#673)
* Suggestion: let prettier sort imports order

# Conflicts:
#	yarn.lock

* AUTO SORT ALL THE IMPORTS

* Linting

* Fixes test
2021-09-22 13:52:38 -06:00
Omar López 3add84a279
Adds Stripe integration (#717)
* Adds Stripe integration

* Moves Stripe instrucctions to ee

* Adds NEXT_PUBLIC_APP_URL variable

* Adds fallback for NEXT_PUBLIC_APP_URL

* Throws error objects instead

* Improved error handling

* Removes deprecated method

* Bug fixing

* Payment refactoring

* PaymentPage fixes

* Fixes preview links

* More preview link fixes

* Fixes client links

Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
2021-09-22 19:36:13 +01:00
Femi Odugbesan a047177e72
Fix/duplicate events on onboarding (#716) 2021-09-22 08:25:33 +01:00
Peer Richelsen 3c089af58a
new EmptyScreen component, using it in /bookings (#708)
* new EmptyScreen component, using it in /bookings

* Linting fixes

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 11:36:29 +01:00
Conor Meagher 96fd7ecf41
chore: change calendso strings to cal.com (#707)
* chore: change calendso strings to cal.com

* rebase LICENSE

* rebase LICENSE

* strings that were missed

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 10:59:34 +01:00
Chris c0330acd83
Add two-factor authentication (#692)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-21 10:29:20 +01:00
Femi Odugbesan ed8241ac1b
Fix/events from caldav not taken into consideration when checking availability (#637)
* use version 1.0.6

* use logger over console log

fix typing issue

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-18 17:49:18 +01:00
Omar López f6005b8c70
[CAL-409] Prevents usernames with special characters (#668) 2021-09-18 00:08:02 +01:00
Nico 961f297ba8
No confirmation shall be needed when rescheduling events that need confirmation (#440)
* No reconfirmation needed when rescheduling

* adapted success page

* Parse query as string

Co-authored-by: nicolas <privat@nicolasjessen.de>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
Co-authored-by: Peer_Rich <peeroke@gmail.com>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
2021-09-17 22:31:44 +01:00
Alex van Andel 7ae85fefee
Lacked encoding of the URL components for iso8601 dates (#669)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-16 11:14:48 +01:00
Alex van Andel cf7f5ae53c
Replace all instances of calendso.com with cal.com and add a new logo for Cal.com emails (#662) 2021-09-15 21:35:55 +01:00
Peer_Rich 9fcd458d25
renamed more calendso to cal.com (#659) 2021-09-15 19:18:16 +01:00
Peer Richelsen 59972bc8ea fixed og-image 2021-09-15 17:27:00 +01:00
Alex van Andel d3fa6cec80
Fixes timeZone() by no longer needing timeZone() (#646)
* Fixes timeZone() by no longer needing timeZone()

* Added simple testcase to demonstrate the behaviour of parseZone() vs dayjs()

* Fixed eslint errors
2021-09-15 03:58:29 +01:00
Alex van Andel 6ab741b927
Feature/round robin (#613)
* Heavy WIP

* More WIP

* Playing with backwards compat

* Moar wip

* wip

* Email changes for group feature

* Committing in redundant migrations for reference

* Combine all WIP migrations into a single feature migration

* Make backup of current version of radio area pending refactor

* Improved accessibility through keyboard

* Cleanup in seperate commit so I can cherrypick later

* Added RadioArea component

* wip

* Ignore .yarn file

* Kinda stable

* Getting closer...

* Hide header when there are only personal events

* Added uid to event create, updated EventTypeDescription

* Delete redundant migration

* Committing new team related migrations

* Optimising & implemented backwards compatibility

* Removed now redundant pages

* Undid prototyping to calendarClient I did not end up using

* Properly typed Select & fixed lint throughout

* How'd that get here, removed.

* TODO: investigate why userData is not compatible with passed type

* This likely matches the event type that is created for a user

* Few bugfixes

* Adding datepicker optimisations

* Fixed new event type spacing, initial profile should always be there

* Gave NEXT_PUBLIC_BASE_URL a try but I think it's not the right solution

* Updated EventTypeDescription to account for long titles, added logo to team page.

* Added logo to team query

* Added cancel Cypress test because an upcoming merge contains changes

* Fix for when the event type description is long

* Turned Theme into the useTheme hook, and made it fully compatible with teams pages

* Built AvatarGroup ui component + moved Avatar to ui

* Give the avatar some space fom the description

* Fixed timeZone selector

* Disabled tooltip +1-...

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-14 09:45:28 +01:00
Alex Johansson ab78bb3802
move calendso branding into pro (#629)
* badge

* mv branding to paid plan

* upgrade ts

* hideBranding check

* user.plan

* lint fixes

* `isBrandingHidden` helper

* hide pro for non-pros
2021-09-13 10:48:55 +01:00
Femi Odugbesan bc79f24fd4
integrate apple icalendar (#623) 2021-09-11 08:54:13 +01:00
Femi Odugbesan 6b4cea2f30
Copy of #560 Parallel CalDav (#621)
* Make the caldav queries run in parallel when querying availability

* improvements to caldav operations

run queries in parallel

if no selected calendars get availability from all calendars

* fix: busyTimes not properly resolved

Co-authored-by: Kuba Orlik <kontakt@kuba-orlik.name>
Co-authored-by: Alex van Andel <me@alexvanandel.com>
2021-09-09 14:03:07 -05:00
Mihai C 903f7729c7
feat: add better error handling (#605)
* feat: add better error handling

* refactor: update after review

* refactor: remove unnecessary code

* refactor: better path structure

* refactor: fetch-wrapper after code review

Co-authored-by: Mihai Colceriu <colceriumi@gmail.com>
2021-09-09 16:51:06 +03:00
Alex van Andel aff45e3451
Fixed #598 - handleLegacyConfirmationMail (#601)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-08 11:21:19 +00:00
Syed Ali Shahbaz e587432894
Bug fix (#592) 2021-09-08 12:00:34 +01:00
Alex Johansson 7e6e935ed3
add free plan (#549)
- add new fields to support this
- when free:
  - fade out all event types after first
  - hide events after first on booking page
  - make booking page after the first one 404 if accessed directly
- add e2e tests
2021-09-06 13:51:15 +00:00
Syed Ali Shahbaz fa35af7bd8
Cal 262 refactor edit teams according to the design reference (#516)
* refactored settings/team landing page

* changed team edit flow, WIP

* merge conflict fix for teams.tsx

* minor fixes to edit team, WIP

* invite-member and disband team APIs attached inside edit-team page

* added remove-member API in edit-team page, minor fixes

* minor code fix, WIP

* WIP

* add logo, bio, branding to team schema

* bio, logo, branding, slug patch API and minor code fix-- WIP

* fn to Disband team directly from the dropdown menu in settings/teams page, removed debug remnants --WIP

* Pull latest data after an action in settings/teams-edit page

* added slug conflict check at Patch time

* code clean-up

* initial change request fixes --WIP

* prop type fix and add warn button color theme --WIP

* added warn Button to Dialog

* remaining change request fixes

* added noop from react-query

* updated invited team-list design

* prettier fix for api/teams/profile

* removed noop import and added custom noop

* minor Button fix

* requested changes addressed
2021-09-06 14:22:22 +01:00
Alex van Andel d9aff72220
Prepares the email system for Calendso Teams (#586)
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-06 09:06:33 +00:00
Alex Johansson 8eaa94d3c1
mv `ONBOARDING_INTRODUCED_AT` to new file (#557)
otherwise will the `/event-types`-route probably unnecessarily import the whole `getting_started`-page
2021-09-02 16:36:58 +00:00
Alex Johansson 52f95eb1c3
add `inferSSRProps` utility (#551) 2021-09-02 18:10:44 +02:00
Femi Odugbesan 2d23a8b7db
Onboarding Flow (#503)
* wip

* wip

* db: schedule schema

* fix adding time goes into new day

fix adding new time not keeping updating ranges

fix updating ranges not maintaining changed values

* remove photo upload

* remove unused code

* remove more unused code

* undo time lib

* didnt actually change this

* dont show onboardi
ng flow for users created before sept 1 2021

* use more consistent max-widths

* align all inputs in scheduler component

* allow overriding of default styles

* match figma designs

implement goto previous step

* add more types, match figma

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-09-02 13:13:19 +01:00
Mihai C 1ab9d1797a
fix: organizer/attendee timezones in emails (#543) 2021-09-01 21:39:24 +01:00
Mihai C a37411b8af
refactor: add next-seo (#531)
* refactor: add next-seo

* refactor: change naming of seo component
2021-08-27 15:35:20 +03:00
Mihai C fc50821282
feat: add react-query and navigate to edit after event-type creation (#528)
* feat: add react-query and navigate to edit after event-type creation

* fix: add types/toasts and add react-query mutations on event-types

Co-authored-by: Mihai Colceriu <colceriumi@gmail.com>
2021-08-27 15:11:24 +03:00
Femi Odugbesan 2d127a5316
improve speed of caldav event fetching (#501)
* improve speed of caldav event fetching

use forked version of tsDav

* use dayjs to format timerange

* apply calendar timezone to event dates
2021-08-23 16:15:03 +00:00
Alex Johansson a77a15056a
`<Button>`-component (#480)
-`<Button/>` component
- Uses `next/link` + `<a/>` if you supply a `href` otherwise `<button/>`
- Add UI sandbox
- Change the `event-types/index` to use a query param for deciding if modal is open or not
2021-08-23 14:45:25 +02:00
Alex van Andel ce64080160
Implement the new Avatar interface to the teams page (#512) 2021-08-23 10:40:57 +01:00
Alex van Andel bc97237858
Remove image from session, add /api/me, update Avatar component (#493)
* Remove image from session, add /api/me, update Avatar component

* Fixed Avatar on Desktop

* Added emailMd5 to session + load md5 from props on /settings/profile

* Explicitly select which fields to expose in /api/me

* Abstracted Gravatar, defaults avatar for /api/me, removed session dep from UserDropdown

* Delete md5.js :)

Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
2021-08-22 14:16:42 +01:00
Alex Johansson a8ef195546
add query params parser util (#496) 2021-08-19 12:32:51 +00:00
Alex Johansson f63aa5d550
add linting in CI + fix lint errors (#473)
* run `yarn lint --fix`

* Revert "Revert "add linting to ci""

This reverts commit 0bbbbee4be.

* Fixed some errors

* remove unused code - not sure why this was here?

* assert env var

* more type fixes

* fix typings og gcal callback - needs testing

* rename `md5.ts` to `md5.js`

it is js.

* fix types

* fix types

* fix lint errors

* fix last lint error

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2021-08-19 14:27:01 +02:00
Alex Johansson 2af160a13e
make `pages/[user]/[type].tsx` type-safe (#484)
* make `pages/[user]/[type].tsx` type-safe
* deprecate `whereAndSelect`
2021-08-18 12:21:52 +00:00