Add boolean state hook

Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
Tilman Vatteroth 2022-07-08 20:30:11 +02:00
parent 311d37b16f
commit 50d2dee9d2
15 changed files with 114 additions and 118 deletions

View file

@ -1,25 +1,24 @@
/*
* SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file)
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
*
* SPDX-License-Identifier: AGPL-3.0-only
*/
import React, { Fragment, useCallback, useState } from 'react'
import React, { Fragment } from 'react'
import { Trans } from 'react-i18next'
import { VersionInfoModal } from './version-info-modal'
import { cypressId } from '../../../../utils/cypress-attribute'
import { useBooleanState } from '../../../../hooks/common/use-boolean-state'
export const VersionInfoLink: React.FC = () => {
const [show, setShow] = useState(false)
const closeModal = useCallback(() => setShow(false), [])
const showModal = useCallback(() => setShow(true), [])
const [modalVisibility, showModal, closeModal] = useBooleanState()
return (
<Fragment>
<a {...cypressId('show-version-modal')} href={'#'} className={'text-light'} onClick={showModal}>
<Trans i18nKey={'landing.versionInfo.versionInfo'} />
</a>
<VersionInfoModal onHide={closeModal} show={show} />
<VersionInfoModal onHide={closeModal} show={modalVisibility} />
</Fragment>
)
}