* 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>
* 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>
* 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>
* run jest in ci
* ignore cypress in jest
* align
* ⚠️ disable failing tests
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* 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>
- 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
* 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>
-`<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
* add generic calendar icon for caldav
* module for symmetric encrypt/decrypt
* caldav integration
* use Radix dialog
* Move caldav components to /caldav
* remove duplicate cancel button, unused function
* ensure app can connect to caldav server before adding
* fix calendar clients can possibly return null
* fix: add caldav dialog does not close when submitted
* safely attempt all caldav operations
* clarify variable name, fix typo
* use common helper for stripping html
* remove usage of request lib until "completed"
* add types and usage comments to crypto lib
* add encryption key to example env file
* add edit links to events on dashboard
* fit elements on screen for mobile
* initialize components for consistent text styles
* add more fine grained width/height settings
* add higher level setting for when an event is available
- db: add supporting values to period allow setting an amount of days,
a range, or unlimited number days an event is available
* fix issue where periodDates are null
* return minimal required data, handle date parsing
* [ui] limit booking days based on user period settings
* api: validate user period settings
* [db] migration for event type period settings
* More tests to be added to verify slots logic
* Adds Jest
* Implements logic to the booking code to take into account grayed days
* Slots take workhours into account
TODO: Improve the tests, evaluate the structure, small re-orgs here and
there for improved readability / better code
* feat: allow users to set google meet as a location for events
- add google meet location with support for other integrations
* return location types from server
also avoids potential leaks of user credentials
* chore: remove unused variable
* fix: return minimal required data from server
- Introduced useTelemetry() hook
- Telemetry events are sent for page_view, booking_confirmed, time_selected, date_selected events
- Telemetry is configured (and can be disabled) with NEXT_PUBLIC_TELEMETRY_KEY env variable