From 5a060c7f7e65c456d5bb7394d352ef929c0fd33c Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Mon, 14 Feb 2022 10:39:55 +0100 Subject: [PATCH] =?UTF-8?q?fix(dashboard):=20=F0=9F=90=9B=20Import=20from?= =?UTF-8?q?=20file=20button?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../templates/ImportFileMenuItem.tsx | 26 +++++++++---------- .../layouts/dashboard/TemplatesContent.tsx | 9 ++----- apps/builder/playwright/.env.example | 2 -- apps/builder/playwright/services/database.ts | 13 +++++++--- 4 files changed, 24 insertions(+), 26 deletions(-) diff --git a/apps/builder/components/templates/ImportFileMenuItem.tsx b/apps/builder/components/templates/ImportFileMenuItem.tsx index 691568048..133b147b6 100644 --- a/apps/builder/components/templates/ImportFileMenuItem.tsx +++ b/apps/builder/components/templates/ImportFileMenuItem.tsx @@ -1,15 +1,15 @@ import { chakra, MenuItem, MenuItemProps, useToast } from '@chakra-ui/react' import { FileIcon } from 'assets/icons' +import { MoreButton } from 'components/dashboard/FolderContent/MoreButton' import { Typebot } from 'models' -import React, { ChangeEvent, useState } from 'react' +import React, { ChangeEvent } from 'react' import { readFile } from 'services/utils' type Props = { onNewTypebot: (typebot: Typebot) => void } & MenuItemProps -export const ImportFromFileMenuItem = ({ onNewTypebot, ...props }: Props) => { - const [isLoading, setIsLoading] = useState(false) +export const CreateTypebotMoreButton = ({ onNewTypebot }: Props) => { const toast = useToast({ position: 'top-right', status: 'error', @@ -17,7 +17,6 @@ export const ImportFromFileMenuItem = ({ onNewTypebot, ...props }: Props) => { const handleInputChange = async (e: ChangeEvent) => { if (!e.target?.files) return - setIsLoading(true) const file = e.target.files[0] const fileContent = await readFile(file) try { @@ -26,7 +25,6 @@ export const ImportFromFileMenuItem = ({ onNewTypebot, ...props }: Props) => { console.error(err) toast({ description: 'Failed to parse the file' }) } - setIsLoading(false) } return ( @@ -38,14 +36,16 @@ export const ImportFromFileMenuItem = ({ onNewTypebot, ...props }: Props) => { onChange={handleInputChange} accept=".json" /> - } - id="file-input" - isLoading={isLoading} - {...props} - > - {props.children} - + + } + htmlFor="file-input" + > + Import from file + + ) } diff --git a/apps/builder/layouts/dashboard/TemplatesContent.tsx b/apps/builder/layouts/dashboard/TemplatesContent.tsx index 28dbe9f77..81b37b863 100644 --- a/apps/builder/layouts/dashboard/TemplatesContent.tsx +++ b/apps/builder/layouts/dashboard/TemplatesContent.tsx @@ -7,8 +7,7 @@ import { Stack, useToast, } from '@chakra-ui/react' -import { MoreButton } from 'components/dashboard/FolderContent/MoreButton' -import { ImportFromFileMenuItem } from 'components/templates/ImportFileMenuItem' +import { CreateTypebotMoreButton } from 'components/templates/ImportFileMenuItem' import { TemplateButton } from 'components/templates/TemplateButton' import { useUser } from 'contexts/UserContext' import { Typebot } from 'models' @@ -63,11 +62,7 @@ export const TemplatesContent = () => { > Start from scratch - - - Import from file - - + Or start from a template diff --git a/apps/builder/playwright/.env.example b/apps/builder/playwright/.env.example index 763621d90..3c3ea9070 100644 --- a/apps/builder/playwright/.env.example +++ b/apps/builder/playwright/.env.example @@ -1,5 +1,3 @@ -NEXT_PUBLIC_AUTH_MOCKING=enabled - PLAYWRIGHT_BUILDER_TEST_BASE_URL=http://localhost:3000 # SMTP Credentials (Generated on https://ethereal.email/) diff --git a/apps/builder/playwright/services/database.ts b/apps/builder/playwright/services/database.ts index 153b60f69..d148fe464 100644 --- a/apps/builder/playwright/services/database.ts +++ b/apps/builder/playwright/services/database.ts @@ -15,10 +15,15 @@ import { encrypt } from 'utils' const prisma = new PrismaClient() export const teardownDatabase = async () => { - await prisma.user.deleteMany() - await prisma.credentials.deleteMany() - await prisma.dashboardFolder.deleteMany() - return prisma.typebot.deleteMany() + const ownerFilter = { + where: { ownerId: { in: ['freeUser', 'proUser'] } }, + } + await prisma.user.deleteMany({ + where: { id: { in: ['freeUser', 'proUser'] } }, + }) + await prisma.credentials.deleteMany(ownerFilter) + await prisma.dashboardFolder.deleteMany(ownerFilter) + return prisma.typebot.deleteMany(ownerFilter) } export const setupDatabase = async () => {