From 1609f3e01fe4b8f404b25b0b53ebed70a0536ec3 Mon Sep 17 00:00:00 2001
From: Philip Molares <philip.molares@udo.edu>
Date: Sun, 1 Sep 2024 19:07:06 +0200
Subject: [PATCH] fix(frontend): first heading will be cleared

If all headings are deleted the note title will be deleted and not be kept to the last value.

Signed-off-by: Philip Molares <philip.molares@udo.edu>
---
 .../renderers/document/document-markdown-renderer.tsx  | 10 +---------
 .../extract-first-headline-node-processor.ts           |  5 +----
 2 files changed, 2 insertions(+), 13 deletions(-)

diff --git a/frontend/src/components/render-page/renderers/document/document-markdown-renderer.tsx b/frontend/src/components/render-page/renderers/document/document-markdown-renderer.tsx
index 2e5d94bbc..a659b8e6a 100644
--- a/frontend/src/components/render-page/renderers/document/document-markdown-renderer.tsx
+++ b/frontend/src/components/render-page/renderers/document/document-markdown-renderer.tsx
@@ -19,13 +19,10 @@ import type { CommonMarkdownRendererProps, HeightChangeRendererProps } from '../
 import { DocumentTocSidebar } from './document-toc-sidebar'
 import styles from './markdown-document.module.scss'
 import useResizeObserver from '@react-hook/resize-observer'
-import React, { useEffect, useMemo, useRef, useState } from 'react'
-import { Logger } from '../../../../utils/logger'
+import React, { useMemo, useRef, useState } from 'react'
 
 export type DocumentMarkdownRendererProps = CommonMarkdownRendererProps & ScrollProps & HeightChangeRendererProps
 
-const logger = new Logger('DocumentMarkdownRenderer')
-
 /**
  * Renders a Markdown document and handles scrolling, yaml metadata and a floating table of contents.
  *
@@ -67,11 +64,6 @@ export const DocumentMarkdownRenderer: React.FC<DocumentMarkdownRendererProps> =
   const markdownBodyRef = useRef<HTMLDivElement>(null)
   const currentLineMarkers = useRef<LineMarkers[]>()
 
-  // ToDo: Remove this
-  useEffect(() => {
-    logger.debug(markdownContentLines)
-  }, [markdownContentLines])
-
   const extensions = useMarkdownExtensions(
     baseUrl,
     RendererType.DOCUMENT,
diff --git a/frontend/src/extensions/essential-app-extensions/extract-first-headline/extract-first-headline-node-processor.ts b/frontend/src/extensions/essential-app-extensions/extract-first-headline/extract-first-headline-node-processor.ts
index f7fb5bd94..8641d0485 100644
--- a/frontend/src/extensions/essential-app-extensions/extract-first-headline/extract-first-headline-node-processor.ts
+++ b/frontend/src/extensions/essential-app-extensions/extract-first-headline/extract-first-headline-node-processor.ts
@@ -5,7 +5,6 @@
  */
 import { NodeProcessor } from '../../../components/markdown-renderer/node-preprocessors/node-processor'
 import { extractFirstHeading } from '@hedgedoc/commons'
-import { Optional } from '@mrdrogdrog/optional'
 import type { Document } from 'domhandler'
 import type { EventEmitter2 } from 'eventemitter2'
 
@@ -20,9 +19,7 @@ export class ExtractFirstHeadlineNodeProcessor extends NodeProcessor {
   }
 
   process(nodes: Document): Document {
-    Optional.ofNullable(extractFirstHeading(nodes))
-      .filter((text) => text !== '')
-      .ifPresent((text) => this.eventEmitter.emit(ExtractFirstHeadlineNodeProcessor.EVENT_NAME, text))
+    this.eventEmitter.emit(ExtractFirstHeadlineNodeProcessor.EVENT_NAME, extractFirstHeading(nodes))
     return nodes
   }
 }