* added base logic for team billing
- moved Stripe customer related logic to customer.ts
- implemented unstable logic for team owner upgrading, downgrading and adding/removing seats
* logic improvements
* - improved Alert style
- hide free team members on public team page
- upgraded textarea to ui component TextArea in SAML setup
- added Alert on team settings for hidden members
- hide CreateEventTypeButton if not admin
- fixed missing locale strings in team settings
* remove random import
* - show hidden status on team list
- refactor team pill
* - improved logic (mostly functional)
- added Alerts for members & owners
- added local strings
- created upgrade modal
- added info notice on invite member modal
- fixed router redirect after leaving team
* - improved logic in team-billing
- error display on upgrade modal
- added better launch.json for VSCode debugger
- fixed bug with missing inviteeUserId
* code cleanup
* nit pick fixes i should sleep now
* fixed leave team bug
- quantity would not decrease upon leave or removal
* added stripe billing callback handler
* - better launch.json
- teams empty component
* - fixed error not removing after successful pro upgrade
- fixed silent fail on team create name conflict
- fixed input border radius on member invite modal
* updated local strings
* improved logic for edge cases, such as:
- team owned by member sponsored by another team can smoothly upgrade to pro if kicked from sponsored team
- logic to calculate if owner is specifically missing pro subscription (ownerIsMissingSeat)
- corrected calculation of members missing seats, shouldn't care for proPaidForByTeamId as that only matters for removing member and preserving pro if they pay for it themselves
- added react query devtools
- added missing locale string
* - allow type override for LinkIconButton
- consolidate filter logic for getMembersMissingSeats
* - only activate team billing for hosted cal
- fix prod price keys
* fix requiresUpgrade when not hosted by cal
* added HOSTED_CAL_FEATURES
* fixed failing build
- fixed broken import path
- added support for premium price plan. (will consider premium as a valid seat)
- remove rouge console log
* fix customer id type error
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
* added rtl to body
* added locale checkker in _document.tsx to check for ar or he locale
* added rtl modifiers for event-types
* added rtl classes
* wip
* wip
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
* Add away column and status circle
* Add away status toggle
* Show message on booking page when away
* Update common.json
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
- dropdown improvements
- Improve performance of team availability
- Fix default timezone
- Allow team admins to edit event types
- Change team availability slot input to dropdown select (15,30,60)
- Prevent teams from access if not pro user
* [WIP] checkpoint before pull & merge
- Added teams to sidebar
- Refactored team settings
- Improved team list UI
This code will be partly reverted next commit.
* [WIP]
- Moved team code back to components
- Removed team link from sidebar
- Built new team manager screen based on Event Type designs
- Component-ized frequently reused code (SettingInputContainer, FlatIconButton)
* [WIP]
- Created LinkIconButton as standalone component
- Added functionality to sidebar of team settings
- Fixed type bug on public team page induced by my normalization of members array in team query
- Removed teams-old which was kept as refrence
- Cleaned up loose ends
* [WIP]
- added create team model
- fixed profile missing label due to my removal of default label from component
* [WIP]
- Fixed TeamCreateModal trigger
- removed TeamShell, it didn't make the cut
- added getPlaceHolderAvatar
- renamed TeamCreate to TeamCreateModal
- removed deprecated UsernameInput and replaced uses with suggested TextField
* fix save button
* [WIP]
- Fixed drop down actions on team list
- Cleaned up state updates
* [WIP] converting teams to tRPC
* [WIP] Finished refactor to tRPC
* [WIP] Finishing touches
* [WIP] Team availability beginning
* team availability mvp
* - added validation to change role
- modified layout of team availability
- corrected types
* fix ui issue on team availability screen
* - added virtualization to team availability
- added flexChildrenContainer boolean to Shell to allow for flex on children
* availability style fix
* removed hard coded team type as teams now use inferred type from tRPC
* Removed unneeded vscode settings
* Reverted prisma schema
* Fixed migrations
* Removes unused dayjs plugins
* Reverts type regression
* Type fix
* Type fixes
* Type fixes
* Moves team availability code to ee
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: zomars <zomars@me.com>
* WIP, WIP, WIP, WIP
* Adds missing types
* Type fixes for useSlots
* Type fixes
* Fixes periodType 500 error when updating
* Adds missing dayjs plugin and type fixes
* An attempt was made to fix tests
* Save work in progress
* Added UTC overflow to days
* Update lib/availability.ts
Co-authored-by: Alex Johansson <alexander@n1s.se>
* No more magic numbers
* Fixed slots.test & added getWorkingHours.test
* Tests pass, simpler logic, profit?
* Timezone shifting!
* Forgot to unskip tests
* Updated the user page
* Added American seed user, some fixes
* tmp fix so to continue testing availability
* Removed timeZone parameter, fix defaultValue auto-scroll
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Alex Johansson <alexander@n1s.se>
* Fixed#1015 - Teams user registration is broken
* Type fixes for avilability form in onboarding
* Re adds missing strings
* Updates user availability in one query
Tested and working correctly
* Fixes seeder and tests
Co-authored-by: Omar López <zomars@me.com>
* Refactored Schedule component
* Merge branch 'main' into feature/availability-page-revamp
* wip
* Turned value into number, many other TS tweaks
* NodeJS 16x works 100% on my local, but out of scope for this already massive PR
* Fixed TS errors in viewer.tsx and schedule/index.ts
* Reverted next.config.js
* Fixed minor remnant from moving types to @lib/types
* schema comment
* some changes to form handling
* add comments
* Turned ConfigType into number; which seems to be the value preferred by tRPC
* Fixed localized time display during onboarding
* Update components/ui/form/Schedule.tsx
Co-authored-by: Alex Johansson <alexander@n1s.se>
* Added showToast to indicate save success
* Converted number to Date, and also always establish time based on current date
* prevent height flickering of availability
by removing mb-2 of input field
* availabilty: re-added mb-2 but added min-height
* Quite a few bugs discovered, but this seems functional
Co-authored-by: KATT <alexander@n1s.se>
Co-authored-by: Bailey Pumfleet <pumfleet@hey.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Removes unused component
* Refactors useLocale
We don't need to pass the locale prop everywhere
* Fixes syntax error
* Adds warning for missing localeProps
* Simplify i18n utils
* Update components/I18nLanguageHandler.tsx
Co-authored-by: Mihai C <34626017+mihaic195@users.noreply.github.com>
* Type fixes
Co-authored-by: Mihai C <34626017+mihaic195@users.noreply.github.com>
* turned teams page into flex from grid to center it, removed h-screen from user page
* new icon button
Co-authored-by: Alex van Andel <me@alexvanandel.com>