From ec7481d002e60d6fd657a083b950bc0cc1da7cc5 Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Mon, 2 Jan 2023 10:33:35 +0100 Subject: [PATCH] :arrow_up: Upgrade dependencies Closes #198, closes #171 --- apps/builder/package.json | 22 +- apps/builder/src/components/icons.tsx | 12 +- .../src/features/account/UserProvider.tsx | 6 - .../MyAccountForm/MyAccountForm.tsx | 16 +- .../features/auth/components/SignInForm.tsx | 1 + .../auth/components/SocialLoginButtons.tsx | 67 +- .../src/pages/api/auth/[...nextauth].ts | 10 +- apps/builder/src/pages/api/auth/adapter.ts | 19 +- .../builder/src/test/utils/databaseActions.ts | 2 +- apps/docs/openapi/chat/_spec_.json | 3 + apps/landing-page/package.json | 10 +- apps/viewer/package.json | 8 +- package.json | 2 +- packages/bot-engine/package.json | 6 +- packages/emails/package.json | 4 +- packages/eslint-config-custom/package.json | 6 +- packages/js/package.json | 44 +- packages/react/package.json | 6 +- packages/scripts/package.json | 6 +- packages/typebot-js/package.json | 4 +- packages/utils/package.json | 2 +- pnpm-lock.yaml | 1678 +++++++++-------- 22 files changed, 992 insertions(+), 942 deletions(-) diff --git a/apps/builder/package.json b/apps/builder/package.json index da30f1d9c..bc365b8ee 100644 --- a/apps/builder/package.json +++ b/apps/builder/package.json @@ -12,16 +12,16 @@ "test:report": "pnpm playwright show-report" }, "dependencies": { - "@chakra-ui/anatomy": "^2.1.0", - "@chakra-ui/css-reset": "2.0.10", - "@chakra-ui/react": "2.4.4", - "@chakra-ui/theme-tools": "^2.0.14", + "@chakra-ui/anatomy": "^2.1.1", + "@chakra-ui/css-reset": "2.0.11", + "@chakra-ui/react": "2.4.6", + "@chakra-ui/theme-tools": "^2.0.16", "@codemirror/lang-css": "6.0.1", "@codemirror/lang-html": "6.4.0", "@codemirror/lang-javascript": "6.1.2", "@codemirror/lang-json": "6.0.1", "@codemirror/lint": "6.1.0", - "@codemirror/state": "6.1.4", + "@codemirror/state": "6.2.0", "@dnd-kit/core": "6.0.6", "@dnd-kit/sortable": "7.0.1", "@dnd-kit/utilities": "3.2.1", @@ -49,7 +49,7 @@ "@udecode/plate-ui-link": "18.13.0", "@udecode/plate-ui-toolbar": "18.13.0", "@use-gesture/react": "^10.2.23", - "aws-sdk": "2.1282.0", + "aws-sdk": "2.1286.0", "bot-engine": "workspace:*", "browser-image-compression": "2.0.0", "canvas-confetti": "1.6.0", @@ -73,7 +73,7 @@ "micro-cors": "0.1.1", "minio": "7.0.32", "next": "13.1.1", - "next-auth": "4.12.3", + "next-auth": "4.18.7", "nextjs-cors": "^2.1.2", "nodemailer": "6.8.0", "nprogress": "0.2.0", @@ -98,24 +98,24 @@ }, "devDependencies": { "@babel/core": "7.20.7", - "@chakra-ui/styled-system": "2.5.0", + "@chakra-ui/styled-system": "2.5.1", "@playwright/test": "1.29.1", "@types/canvas-confetti": "1.6.0", "@types/google-spreadsheet": "3.3.0", "@types/jsonwebtoken": "9.0.0", "@types/micro-cors": "0.1.2", "@types/minio": "7.0.15", - "@types/node": "18.11.17", + "@types/node": "18.11.18", "@types/nodemailer": "6.4.7", "@types/nprogress": "0.2.0", - "@types/papaparse": "5.3.5", + "@types/papaparse": "5.3.7", "@types/prettier": "2.7.2", "@types/qs": "6.9.7", "@types/react": "18.0.26", "@types/tinycolor2": "1.4.3", "db": "workspace:*", "dotenv": "16.0.3", - "eslint": "8.30.0", + "eslint": "8.31.0", "eslint-config-custom": "workspace:*", "models": "workspace:*", "next-transpile-modules": "10.0.0", diff --git a/apps/builder/src/components/icons.tsx b/apps/builder/src/components/icons.tsx index 9f8a98b68..75f9a203a 100644 --- a/apps/builder/src/components/icons.tsx +++ b/apps/builder/src/components/icons.tsx @@ -1,4 +1,4 @@ -import { IconProps, Icon } from '@chakra-ui/react' +import { IconProps, Icon, useColorModeValue } from '@chakra-ui/react' export const featherIconsBaseProps: IconProps = { fill: 'none', @@ -353,9 +353,13 @@ export const SendEmailIcon = (props: IconProps) => ( ) export const GithubIcon = (props: IconProps) => ( - - {'Logo Github'} - + + ) diff --git a/apps/builder/src/features/account/UserProvider.tsx b/apps/builder/src/features/account/UserProvider.tsx index ac046a196..65755385b 100644 --- a/apps/builder/src/features/account/UserProvider.tsx +++ b/apps/builder/src/features/account/UserProvider.tsx @@ -20,7 +20,6 @@ const userContext = createContext<{ isLoading: boolean isSaving: boolean hasUnsavedChanges: boolean - isOAuthProvider: boolean currentWorkspaceId?: string updateUser: (newUser: Partial) => void saveUser: (newUser?: Partial) => Promise @@ -36,10 +35,6 @@ export const UserProvider = ({ children }: { children: ReactNode }) => { const [currentWorkspaceId, setCurrentWorkspaceId] = useState() const [isSaving, setIsSaving] = useState(false) - const isOAuthProvider = useMemo( - () => (session?.providerType as boolean | undefined) ?? false, - [session?.providerType] - ) const hasUnsavedChanges = useMemo( () => !dequal(session?.user, user), @@ -97,7 +92,6 @@ export const UserProvider = ({ children }: { children: ReactNode }) => { isSaving, isLoading: status === 'loading', hasUnsavedChanges, - isOAuthProvider, currentWorkspaceId, updateUser, saveUser, diff --git a/apps/builder/src/features/account/components/MyAccountForm/MyAccountForm.tsx b/apps/builder/src/features/account/components/MyAccountForm/MyAccountForm.tsx index 5639dde01..ca8867045 100644 --- a/apps/builder/src/features/account/components/MyAccountForm/MyAccountForm.tsx +++ b/apps/builder/src/features/account/components/MyAccountForm/MyAccountForm.tsx @@ -18,14 +18,7 @@ import { UploadButton } from '@/components/ImageUploadContent/UploadButton' import { useUser } from '@/features/account' export const MyAccountForm = () => { - const { - user, - updateUser, - saveUser, - hasUnsavedChanges, - isSaving, - isOAuthProvider, - } = useUser() + const { user, updateUser, saveUser, hasUnsavedChanges, isSaving } = useUser() const handleFileUploaded = async (url: string) => { updateUser({ image: url }) @@ -74,12 +67,7 @@ export const MyAccountForm = () => { hasArrow > - - Email address - + Email address if (hasNoAuthProvider) return ( diff --git a/apps/builder/src/features/auth/components/SocialLoginButtons.tsx b/apps/builder/src/features/auth/components/SocialLoginButtons.tsx index 54e85812b..80b69dd48 100644 --- a/apps/builder/src/features/auth/components/SocialLoginButtons.tsx +++ b/apps/builder/src/features/auth/components/SocialLoginButtons.tsx @@ -7,7 +7,7 @@ import { useSession, } from 'next-auth/react' import { useRouter } from 'next/router' -import React from 'react' +import React, { useState } from 'react' import { stringify } from 'qs' import { BuiltInProviderType } from 'next-auth/providers' import { GoogleLogo } from '@/components/GoogleLogo' @@ -22,31 +22,28 @@ type Props = { export const SocialLoginButtons = ({ providers }: Props) => { const { query } = useRouter() const { status } = useSession() + const [authLoading, setAuthLoading] = + useState>() - const handleGitHubClick = async () => - signIn('github', { + const handleSignIn = async (provider: string) => { + setAuthLoading(provider) + await signIn(provider, { callbackUrl: `/typebots?${stringify(query)}`, }) + setTimeout(() => setAuthLoading(undefined), 3000) + } - const handleGoogleClick = async () => - signIn('google', { - callbackUrl: `/typebots?${stringify(query)}`, - }) + const handleGitHubClick = () => handleSignIn('github') - const handleFacebookClick = async () => - signIn('facebook', { - callbackUrl: `/typebots?${stringify(query)}`, - }) + const handleGoogleClick = () => handleSignIn('google') - const handleGitlabClick = async () => - signIn('gitlab', { - callbackUrl: `/typebots?${stringify(query)}`, - }) + const handleFacebookClick = () => handleSignIn('facebook') - const handleAzureAdClick = async () => - signIn('azure-ad', { - callbackUrl: `/typebots?${stringify(query)}`, - }) + const handleGitlabClick = () => handleSignIn('gitlab') + + const handleAzureAdClick = () => handleSignIn('azure-ad') + + const handleCustomOAuthClick = () => handleSignIn('custom-oauth') return ( @@ -55,7 +52,10 @@ export const SocialLoginButtons = ({ providers }: Props) => { leftIcon={} onClick={handleGitHubClick} data-testid="github" - isLoading={['loading', 'authenticated'].includes(status)} + isLoading={ + ['loading', 'authenticated'].includes(status) || + authLoading === 'github' + } variant="outline" > Continue with GitHub @@ -66,7 +66,10 @@ export const SocialLoginButtons = ({ providers }: Props) => { leftIcon={} onClick={handleGoogleClick} data-testid="google" - isLoading={['loading', 'authenticated'].includes(status)} + isLoading={ + ['loading', 'authenticated'].includes(status) || + authLoading === 'google' + } variant="outline" > Continue with Google @@ -77,7 +80,10 @@ export const SocialLoginButtons = ({ providers }: Props) => { leftIcon={} onClick={handleFacebookClick} data-testid="facebook" - isLoading={['loading', 'authenticated'].includes(status)} + isLoading={ + ['loading', 'authenticated'].includes(status) || + authLoading === 'facebook' + } variant="outline" > Continue with Facebook @@ -88,7 +94,10 @@ export const SocialLoginButtons = ({ providers }: Props) => { leftIcon={} onClick={handleGitlabClick} data-testid="gitlab" - isLoading={['loading', 'authenticated'].includes(status)} + isLoading={ + ['loading', 'authenticated'].includes(status) || + authLoading === 'gitlab' + } variant="outline" > Continue with {providers.gitlab.name} @@ -99,7 +108,10 @@ export const SocialLoginButtons = ({ providers }: Props) => { leftIcon={} onClick={handleAzureAdClick} data-testid="azure-ad" - isLoading={['loading', 'authenticated'].includes(status)} + isLoading={ + ['loading', 'authenticated'].includes(status) || + authLoading === 'azure-ad' + } variant="outline" > Continue with {providers['azure-ad'].name} @@ -107,8 +119,11 @@ export const SocialLoginButtons = ({ providers }: Props) => { )} {providers?.['custom-oauth'] && (