Add browser meta tags for favicon and title (#1746)

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2022-01-02 19:35:39 +01:00 committed by GitHub
parent 0a4ab9fb0a
commit 194183a7eb
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 111 additions and 48 deletions

View file

@ -4,13 +4,16 @@
* SPDX-License-Identifier: AGPL-3.0-only
*/
import { useEffect } from 'react'
import { useMemo } from 'react'
import { useApplicationState } from './use-application-state'
export const useDocumentTitle = (title?: string): void => {
/**
* Returns the app title with branding if set.
*/
export const useAppTitle = (): string => {
const brandingName = useApplicationState((state) => state.config.branding.name)
useEffect(() => {
document.title = `${title ? title + ' - ' : ''}HedgeDoc ${brandingName ? ` @ ${brandingName}` : ''}`
}, [brandingName, title])
return useMemo(() => {
return 'HedgeDoc' + (brandingName ? ` @ ${brandingName}` : '')
}, [brandingName])
}

View file

@ -6,13 +6,15 @@
import { useTranslation } from 'react-i18next'
import { useApplicationState } from './use-application-state'
import { useDocumentTitle } from './use-document-title'
import { useMemo } from 'react'
export const useDocumentTitleWithNoteTitle = (): void => {
/**
* Returns the title of the note or a placeholder text.
*/
export const useNoteTitle = (): string => {
const { t } = useTranslation()
const untitledNote = useMemo(() => t('editor.untitledNote'), [t])
const noteTitle = useApplicationState((state) => state.noteDetails.noteTitle)
useDocumentTitle(noteTitle === '' ? untitledNote : noteTitle)
return useMemo(() => (noteTitle === '' ? untitledNote : noteTitle), [noteTitle, untitledNote])
}