import { useState } from "react"; import { Button, Collapse, TextArea, Popover, Input } from "@douyinfe/semi-ui"; import { IconDeleteStroked, IconCheckboxTick } from "@douyinfe/semi-icons"; import { noteThemes, Action, ObjectType } from "../../../data/constants"; import { useNotes, useUndoRedo } from "../../../hooks"; import { useTranslation } from "react-i18next"; export default function NoteInfo({ data, nid }) { const { updateNote, deleteNote } = useNotes(); const { setUndoStack, setRedoStack } = useUndoRedo(); const [editField, setEditField] = useState({}); const { t } = useTranslation(); return ( {data.title} } itemKey={`${data.id}`} id={`scroll_note_${data.id}`} >
{t("title")}:
updateNote(data.id, { title: value })} onFocus={(e) => setEditField({ title: e.target.value })} onBlur={(e) => { if (e.target.value === editField.title) return; setUndoStack((prev) => [ ...prev, { action: Action.EDIT, element: ObjectType.NOTE, nid: data.id, undo: editField, redo: { title: e.target.value }, message: t("edit_note", { noteTitle: e.target.value, extra: "[title]", }), }, ]); setRedoStack([]); }} />