feat(editor): ♿️ Create new item when hitting enter
This commit is contained in:
@ -7,15 +7,9 @@ type Props = {
|
||||
item: Item
|
||||
indices: ItemIndices
|
||||
isMouseOver: boolean
|
||||
isLastItem: boolean
|
||||
}
|
||||
|
||||
export const ItemNodeContent = ({
|
||||
item,
|
||||
indices,
|
||||
isMouseOver,
|
||||
isLastItem,
|
||||
}: Props) => {
|
||||
export const ItemNodeContent = ({ item, indices, isMouseOver }: Props) => {
|
||||
switch (item.type) {
|
||||
case ItemType.BUTTON:
|
||||
return (
|
||||
@ -23,7 +17,6 @@ export const ItemNodeContent = ({
|
||||
item={item}
|
||||
isMouseOver={isMouseOver}
|
||||
indices={indices}
|
||||
isLastItem={isLastItem}
|
||||
/>
|
||||
)
|
||||
case ItemType.CONDITION:
|
||||
|
@ -15,16 +15,10 @@ import { isNotDefined } from 'utils'
|
||||
type Props = {
|
||||
item: ButtonItem
|
||||
indices: ItemIndices
|
||||
isLastItem: boolean
|
||||
isMouseOver: boolean
|
||||
}
|
||||
|
||||
export const ButtonNodeContent = ({
|
||||
item,
|
||||
indices,
|
||||
isMouseOver,
|
||||
isLastItem,
|
||||
}: Props) => {
|
||||
export const ButtonNodeContent = ({ item, indices, isMouseOver }: Props) => {
|
||||
const { deleteItem, updateItem, createItem } = useTypebot()
|
||||
const [initialContent] = useState(item.content ?? '')
|
||||
const [itemValue, setItemValue] = useState(item.content ?? 'Click to edit')
|
||||
@ -44,12 +38,7 @@ export const ButtonNodeContent = ({
|
||||
|
||||
const handleKeyPress = (e: React.KeyboardEvent<HTMLDivElement>) => {
|
||||
if (e.key === 'Escape' && itemValue === 'Click to edit') deleteItem(indices)
|
||||
if (
|
||||
e.key === 'Enter' &&
|
||||
itemValue !== '' &&
|
||||
isLastItem &&
|
||||
initialContent === ''
|
||||
)
|
||||
if (e.key === 'Enter' && itemValue !== '' && initialContent === '')
|
||||
handlePlusClick()
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user