* Crypto events (#1390)
* update schemas, functions & ui to allow creating and updating events with a smart contract property
* remove adding sc address in the dialog that first pops-up when creating a new event, since its an advanced option
* add sc to booking ui
* some more ts && error handling
* fetch erc20s and nfts list in event-type page
* some cleanup within time limit
* ts fix 1
* more ts fixes
* added web3 section to integrations
* added web3 wrapper, needs connection to user_settings db
* extract to api
* Update eventType.ts
* Update components/CryptoSection.tsx
Change comment from // to /** as @zomars suggested
Co-authored-by: Omar López <zomars@me.com>
* convert axios to fetch, change scAddress to smartContractAddress, load bloxy from next_public_env
* Fix branch conflict
* add enable/disable btn web3
* fixed away user causing duplicate entries
* Remove web3 validation
* renamed web3 button in integrations
* remove unused variable
* Add metadata column
* added loader and showToast to the web3 btn
* fix: remove smartContractAddress from info sended
* send to user events when the contract is missing
* use window.web3 instead of web3
* use NEXT_PUBLIC_WEB3_AUTH_MSG
* remove web3 auth from .env
* wip
* wip
* Add metamask not installed msg and success redirect
* add redirect when verified
* styled web3 button and added i18n to web3
* fixed redirect after verification
* wip
* wip
* moved crypto section to ee
Co-authored-by: Yuval Drori <53199044+yuvd@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@richelsen.net>
Co-authored-by: Yuval Drori <yuvald29@protonmail.com>
Co-authored-by: Omar López <zomars@me.com>
Co-authored-by: Edward Fernandez <edward.fernandez@rappi.com>
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Peer Richelsen <peeroke@gmail.com>
* Email input UX improvements
* Makes email queries case insensitive
* Lowercases all emails
* Type fixes
* Re adds lowercase email to login
* Removes citext dependency
* Updates schema
* Migration fixes
* Added failsafes to team invites
* Team invite improvements
* Deleting the index, lowercasing
```
calendso=> UPDATE users SET email=LOWER(email);
ERROR: duplicate key value violates unique constraint "users.email_unique"
DETAIL: Key (email)=(free@example.com) already exists.
```
vs.
```
calendso=> CREATE UNIQUE INDEX "users.email_unique" ON "users" (email);
ERROR: could not create unique index "users.email_unique"
DETAIL: Key (email)=(Free@example.com) is duplicated.
```
I think it'll be easier to rectify for users if they try to run the migrations if the index stays in place.
Co-authored-by: Alex van Andel <me@alexvanandel.com>
* [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>
* 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>
* Ends the war between tRPC and next-i18next
* Locale fixes
* Linting
* Linting
* trpc i18n (not working) (#942)
* simplify i18n handler and remove redundant(?) fn check
* split up viewer to a "logged in only" and "public"
* wip -- skip first render
Co-authored-by: Omar López <zomars@me.com>
* Linting
* I18n fixes
* We don't need serverSideTranslations in every page anymore
Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com>
Co-authored-by: Alex Johansson <alexander@n1s.se>
* 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>
* minor style changes to team pages
* more minor changes to team dashboard, added badge variant = gray
* added border to dropdown and removed blue focus ring on hover
* 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>