diff --git a/app/src/protyle/util/insertHTML.ts b/app/src/protyle/util/insertHTML.ts
index 154f0aaa9..6a831b3b8 100644
--- a/app/src/protyle/util/insertHTML.ts
+++ b/app/src/protyle/util/insertHTML.ts
@@ -565,21 +565,19 @@ export const insertHTML = (html: string, protyle: IProtyle, isBlock = false,
blockElement.getAttribute("fold") === "1" && !insertBefore) {
fetchPost("/api/block/getHeadingChildrenIDs", {id: blockElement.getAttribute("data-node-id")}, (response) => {
const childrenIDs: string[] = response.data;
- if (childrenIDs.length > 0) {
- const previousId = childrenIDs[childrenIDs.length - 1];
- foldData = setFold(protyle, blockElement, true, false, false, true);
- foldData.doOperations[0].context = {
- focusId: lastElement?.getAttribute("data-node-id"),
- };
- doOperation.forEach(item => {
- if (item.action === "insert") {
- item.previousID = previousId;
- }
- });
- doOperation.splice(0, 0, ...foldData.doOperations);
- undoOperation.push(...foldData.undoOperations);
- transaction(protyle, doOperation, undoOperation);
- }
+ const previousId = (childrenIDs && childrenIDs.length > 0) ? childrenIDs[childrenIDs.length - 1] : blockElement.getAttribute("data-node-id");
+ foldData = setFold(protyle, blockElement, true, false, false, true);
+ foldData.doOperations[0].context = {
+ focusId: lastElement?.getAttribute("data-node-id"),
+ };
+ doOperation.forEach(item => {
+ if (item.action === "insert") {
+ item.previousID = previousId;
+ }
+ });
+ doOperation.splice(0, 0, ...foldData.doOperations);
+ undoOperation.push(...foldData.undoOperations);
+ transaction(protyle, doOperation, undoOperation);
});
return;
}