import { Icon } from '@iconify/react/dist/iconify.js'; import { isEmpty } from 'lodash-es'; import { useRef, useState } from 'react'; import styles from './EditableTitle.module.css'; type EditableTitleProps = { title: string; onChange?: (newTitle: string) => void; }; export function EditableTitle({ title, onChange }: EditableTitleProps) { const [isEditing, setIsEditing] = useState(false); const formRef = useRef(null); const cancelEdit = () => { setIsEditing(false); formRef.current?.reset(); }; const handleSubmit = (data: FormData) => { const newTitle = data.get('title') as string; if (!isEmpty(newTitle) && newTitle !== title) { onChange?.(newTitle); } cancelEdit(); }; return isEditing ? (
formRef.current?.requestSubmit()}>
) : (

{title}

setIsEditing(true)}>
); }