2
0

🐛 (editor) Make sure typebot name can be editable if empty

This commit is contained in:
Baptiste Arnaud
2022-11-20 08:42:39 +01:00
parent d2f617ff1e
commit c7fde1d0bc
2 changed files with 22 additions and 10 deletions

View File

@ -4,23 +4,31 @@ import {
EditableInput,
Tooltip,
} from '@chakra-ui/react'
import React, { useEffect, useState } from 'react'
import React, { useState } from 'react'
type EditableProps = {
name: string
defaultName: string
onNewName: (newName: string) => void
}
export const EditableTypebotName = ({ name, onNewName }: EditableProps) => {
const [localName, setLocalName] = useState(name)
export const EditableTypebotName = ({
defaultName,
onNewName,
}: EditableProps) => {
const [currentName, setCurrentName] = useState(defaultName)
useEffect(() => {
if (name !== localName) setLocalName(name)
// eslint-disable-next-line react-hooks/exhaustive-deps
}, [name])
const submitNewName = (newName: string) => {
if (newName === '') return setCurrentName(defaultName)
if (newName === defaultName) return
onNewName(newName)
}
return (
<Tooltip label="Rename">
<Editable value={localName} onChange={setLocalName} onSubmit={onNewName}>
<Editable
value={currentName}
onChange={setCurrentName}
onSubmit={submitNewName}
>
<EditablePreview
noOfLines={2}
cursor="pointer"
@ -29,6 +37,9 @@ export const EditableTypebotName = ({ name, onNewName }: EditableProps) => {
display="flex"
alignItems="center"
fontSize="14px"
minW="30px"
minH="20px"
bgColor={currentName === '' ? 'gray.100' : 'white'}
/>
<EditableInput fontSize="14px" />
</Editable>

View File

@ -153,7 +153,8 @@ export const TypebotHeader = () => {
)}
{typebot?.name && (
<EditableTypebotName
name={typebot?.name}
key={typebot.name}
defaultName={typebot.name}
onNewName={handleNameSubmit}
/>
)}