🐛 (editor) Make sure typebot name can be editable if empty
This commit is contained in:
@ -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>
|
||||||
|
@ -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}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
Reference in New Issue
Block a user