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

View File

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