mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-06-08 10:22:47 -04:00
feat(motd): read motd in RSC and provide via context
Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
83c7f81a76
commit
a0bc8e98d0
11 changed files with 190 additions and 125 deletions
|
@ -6,6 +6,7 @@
|
|||
import { DropdownHeader } from '../dropdown-header'
|
||||
import { VersionInfoHelpMenuEntry } from './instance/version-info-help-menu-entry'
|
||||
import React, { Fragment } from 'react'
|
||||
import { MotdModalHelpMenuEntry } from './instance/motd-modal-help-menu-entry'
|
||||
|
||||
/**
|
||||
* Renders the instance submenu for the help dropdown.
|
||||
|
@ -15,6 +16,7 @@ export const InstanceSubmenu: React.FC = () => {
|
|||
<Fragment>
|
||||
<DropdownHeader i18nKey={'appbar.help.instance.header'} />
|
||||
<VersionInfoHelpMenuEntry />
|
||||
<MotdModalHelpMenuEntry />
|
||||
</Fragment>
|
||||
)
|
||||
}
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2023 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
import React, { Fragment } from 'react'
|
||||
import { TranslatedDropdownItem } from '../../translated-dropdown-item'
|
||||
import { InfoCircleFill as IconInfoCircleFill } from 'react-bootstrap-icons'
|
||||
import { useBooleanState } from '../../../../../../../hooks/common/use-boolean-state'
|
||||
import { MotdModal } from '../../../../../../global-dialogs/motd-modal/motd-modal'
|
||||
import { useMotdContextValue } from '../../../../../../motd/motd-context'
|
||||
|
||||
/**
|
||||
* Help menu entry for the motd modal.
|
||||
* When no modal content is defined, the menu entry will not render.
|
||||
*/
|
||||
export const MotdModalHelpMenuEntry: React.FC = () => {
|
||||
const [modalVisibility, showModal, closeModal] = useBooleanState(false)
|
||||
const contextValue = useMotdContextValue()
|
||||
|
||||
if (!contextValue) {
|
||||
return null
|
||||
}
|
||||
|
||||
return (
|
||||
<Fragment>
|
||||
<TranslatedDropdownItem
|
||||
icon={IconInfoCircleFill}
|
||||
i18nKey={'appbar.help.instance.motdModal'}
|
||||
onClick={showModal}
|
||||
/>
|
||||
<MotdModal show={modalVisibility} onDismiss={closeModal} />
|
||||
</Fragment>
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue