Fix SlideShow-Only-Page and Document-Read-Only-Page

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2021-10-14 20:00:16 +02:00
parent 36e445e631
commit dc0068420a
6 changed files with 108 additions and 41 deletions

View file

@ -0,0 +1,30 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import React from 'react'
import { RendererType } from '../render-page/window-post-message-communicator/rendering-message'
import { RenderIframe } from '../editor-page/renderer-pane/render-iframe'
import { updateNoteTitleByFirstHeading } from '../../redux/note-details/methods'
import { useTranslation } from 'react-i18next'
import { useSendFrontmatterInfoFromReduxToRenderer } from '../editor-page/renderer-pane/hooks/use-send-frontmatter-info-from-redux-to-renderer'
import { useNoteMarkdownContentWithoutFrontmatter } from '../../hooks/common/use-note-markdown-content-without-frontmatter'
export const SlideShowPageContent: React.FC = () => {
const markdownContent = useNoteMarkdownContentWithoutFrontmatter()
useTranslation()
useSendFrontmatterInfoFromReduxToRenderer()
return (
<div className={'vh-100 vw-100'}>
<RenderIframe
frameClasses={'h-100 w-100'}
markdownContent={markdownContent}
rendererType={RendererType.SLIDESHOW}
onFirstHeadingChange={updateNoteTitleByFirstHeading}
/>
</div>
)
}

View file

@ -5,34 +5,22 @@
*/
import React from 'react'
import { RenderIframe } from '../editor-page/renderer-pane/render-iframe'
import { useNoteMarkdownContent } from '../../hooks/common/use-note-markdown-content'
import { useTranslation } from 'react-i18next'
import { useLoadNoteFromServer } from '../editor-page/hooks/useLoadNoteFromServer'
import { ShowIf } from '../common/show-if/show-if'
import { updateNoteTitleByFirstHeading } from '../../redux/note-details/methods'
import { RendererType } from '../render-page/window-post-message-communicator/rendering-message'
import { useSendFrontmatterInfoFromReduxToRenderer } from '../editor-page/renderer-pane/hooks/use-send-frontmatter-info-from-redux-to-renderer'
import { EditorToRendererCommunicatorContextProvider } from '../editor-page/render-context/editor-to-renderer-communicator-context-provider'
import { SlideShowPageContent } from './slide-show-page-content'
import { useDocumentTitleWithNoteTitle } from '../../hooks/common/use-document-title-with-note-title'
export const SlideShowPage: React.FC = () => {
const markdownContent = useNoteMarkdownContent()
useTranslation()
useSendFrontmatterInfoFromReduxToRenderer()
const [error, loading] = useLoadNoteFromServer()
useDocumentTitleWithNoteTitle()
return (
<ShowIf condition={!error && !loading}>
<div className={'vh-100 vw-100'}>
<RenderIframe
frameClasses={'h-100 w-100'}
markdownContent={markdownContent}
rendererType={RendererType.SLIDESHOW}
onFirstHeadingChange={updateNoteTitleByFirstHeading}
/>
</div>
</ShowIf>
<EditorToRendererCommunicatorContextProvider>
<ShowIf condition={!error && !loading}>
<SlideShowPageContent />
</ShowIf>
</EditorToRendererCommunicatorContextProvider>
)
}