2
0

🏗️ Use tsup for bot and typebot-js packages

This commit is contained in:
Baptiste Arnaud
2022-10-10 08:28:11 +02:00
committed by Baptiste Arnaud
parent 0b58f4e976
commit 84163c6585
27 changed files with 474 additions and 739 deletions

View File

@ -10,24 +10,28 @@ export const Seo = ({
description?: string
currentUrl?: string
imagePreviewUrl?: string
}) => (
<Head>
<title>Typebot | {title}</title>
<meta name="title" content={title} />
<meta property="og:title" content={title} />
<meta property="twitter:title" content={title} />
}) => {
const formattedTitle = `${title} | Typebot`
<meta property="twitter:url" content={currentUrl} />
<meta property="og:url" content={currentUrl} />
return (
<Head>
<title>{formattedTitle}</title>
<meta name="title" content={title} />
<meta property="og:title" content={title} />
<meta property="twitter:title" content={title} />
<meta name="description" content={description} />
<meta property="twitter:description" content={description} />
<meta property="og:description" content={description} />
<meta property="twitter:url" content={currentUrl} />
<meta property="og:url" content={currentUrl} />
<meta property="og:image" content={imagePreviewUrl} />
<meta property="twitter:image" content={imagePreviewUrl} />
<meta name="description" content={description} />
<meta property="twitter:description" content={description} />
<meta property="og:description" content={description} />
<meta property="og:type" content="website" />
<meta property="twitter:card" content="summary_large_image" />
</Head>
)
<meta property="og:image" content={imagePreviewUrl} />
<meta property="twitter:image" content={imagePreviewUrl} />
<meta property="og:type" content="website" />
<meta property="twitter:card" content="summary_large_image" />
</Head>
)
}

View File

@ -55,7 +55,7 @@ export const DashboardHeader = () => {
<NextChakraLink
className="w-24"
href="/typebots"
data-testid="authenticated"
data-testid="typebot-logo"
>
<TypebotLogo w="30px" />
</NextChakraLink>
@ -92,12 +92,11 @@ export const DashboardHeader = () => {
</SkeletonCircle>
{workspace && (
<>
<Text noOfLines={1} maxW="200px">
{workspace.name}
</Text>
<PlanTag plan={workspace.plan}/>
<Text noOfLines={1} maxW="200px">
{workspace.name}
</Text>
<PlanTag plan={workspace.plan} />
</>
)}
<ChevronLeftIcon transform="rotate(-90deg)" />
</HStack>
@ -117,7 +116,7 @@ export const DashboardHeader = () => {
defaultIcon={HardDriveIcon}
/>
<Text>{workspace.name}</Text>
<PlanTag plan={workspace.plan}/>
<PlanTag plan={workspace.plan} />
</HStack>
</MenuItem>
))}

View File

@ -44,7 +44,7 @@ export const SettingsSideMenu = () => {
<Heading fontSize="xl" textAlign="center">
Settings
</Heading>
<Accordion allowMultiple allowToggle>
<Accordion allowMultiple defaultIndex={[0]}>
<AccordionItem>
<AccordionButton py={6}>
<HStack flex="1" pl={2}>

View File

@ -187,7 +187,7 @@ export const WebhookSettings = ({
items={Object.values(HttpMethod)}
/>
</HStack>
<Accordion allowToggle allowMultiple>
<Accordion allowMultiple>
<AccordionItem>
<AccordionButton justifyContent="space-between">
Query params
@ -274,7 +274,7 @@ export const WebhookSettings = ({
<CodeEditor isReadOnly lang="json" value={testResponse} />
)}
{(testResponse || options?.responseVariableMapping.length > 0) && (
<Accordion allowToggle allowMultiple>
<Accordion allowMultiple>
<AccordionItem>
<AccordionButton justifyContent="space-between">
Save in variables

View File

@ -43,7 +43,7 @@ export const ThemeSideMenu = () => {
<Heading fontSize="xl" textAlign="center">
Customize the theme
</Heading>
<Accordion allowMultiple allowToggle>
<Accordion allowMultiple defaultIndex={[0]}>
<AccordionItem>
<AccordionButton py={6}>
<HStack flex="1" pl={2}>

View File

@ -1,7 +1,12 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const { withSentryConfig } = require('@sentry/nextjs')
const path = require('path')
const withTM = require('next-transpile-modules')(['utils', 'models', 'emails'])
const withTM = require('next-transpile-modules')([
'utils',
'models',
'emails',
'bot-engine',
])
/** @type {import('next').NextConfig} */
const nextConfig = {

View File

@ -21,7 +21,6 @@ test.describe.parallel('Settings page', () => {
await expect(
typebotViewer(page).locator('a:has-text("Made with Typebot")')
).toHaveAttribute('href', 'https://www.typebot.io/?utm_source=litebadge')
await page.click('button:has-text("General")')
await page.click('text="Typebot.io branding"')
await expect(
typebotViewer(page).locator('a:has-text("Made with Typebot")')

View File

@ -26,7 +26,6 @@ test.describe.parallel('Theme page', () => {
await expect(
typebotViewer(page).locator('button >> text="Go"')
).toBeVisible()
await page.click('button:has-text("General")')
// Font
await page.fill('input[type="text"]', 'Roboto Slab')

View File

@ -81,6 +81,10 @@ test('can update workspace info', async ({ page }) => {
await page.fill('input[placeholder="Search..."]', 'building')
await page.click('text="🏦"')
await page.fill('input[value="Pro workspace"]', 'My awesome workspace')
await page.getByTestId('typebot-logo').click({ force: true })
await expect(
page.getByRole('button', { name: '🏦 My awesome workspace Pro' })
).toBeVisible()
})
test('can manage members', async ({ page }) => {