71e675489c9d4691b3e84e7c97d239f3a141ef6e
Footer only committed edited text via onBlur, and its effect rewrote innerText from the (stale) text prop whenever selected became false -- if selection cleared without a real DOM blur, the in-progress edit was silently lost. Adopt Heading.tsx's exact mechanism: an editedTextRef updated on onInput, committed to the prop via an effect keyed on the selected->false transition (in addition to the existing onBlur commit). Preserves the 500ms setProp debounce Footer already had for undo grouping. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Description
Visual drag-and-drop website builder using GrapesJS
3.5 MiB
Languages
TypeScript
64.8%
HTML
16.1%
JavaScript
14.9%
CSS
3.2%
PHP
0.7%
Other
0.3%