mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-21 02:35:23 -04:00
fix: Move content into to frontend directory
Doing this BEFORE the merge prevents a lot of merge conflicts. Signed-off-by: Tilman Vatteroth <git@tilmanvatteroth.de>
This commit is contained in:
parent
4e18ce38f3
commit
762a0a850e
1051 changed files with 0 additions and 35 deletions
|
@ -0,0 +1,40 @@
|
|||
/*
|
||||
* SPDX-FileCopyrightText: 2022 The HedgeDoc developers (see AUTHORS file)
|
||||
*
|
||||
* SPDX-License-Identifier: AGPL-3.0-only
|
||||
*/
|
||||
|
||||
import type { ImageDetails } from '../../../render-page/window-post-message-communicator/rendering-message'
|
||||
import React, { useCallback, useState } from 'react'
|
||||
import { useBooleanState } from '../../../../hooks/common/use-boolean-state'
|
||||
import { ImageLightboxModal } from './image-lightbox-modal'
|
||||
import { useExtensionEventEmitterHandler } from '../../hooks/use-extension-event-emitter'
|
||||
import { SHOW_IMAGE_LIGHTBOX_EVENT_NAME } from './event-emitting-proxy-image-frame'
|
||||
|
||||
/**
|
||||
* Handles messages from the render in the iframe to open a {@link ImageLightboxModal}.
|
||||
*/
|
||||
export const CommunicatorImageLightbox: React.FC = () => {
|
||||
const [lightboxDetails, setLightboxDetails] = useState<ImageDetails | undefined>(undefined)
|
||||
const [modalVisibility, showModal, closeModal] = useBooleanState()
|
||||
|
||||
const handler = useCallback(
|
||||
(values: ImageDetails) => {
|
||||
setLightboxDetails?.(values)
|
||||
showModal()
|
||||
},
|
||||
[showModal]
|
||||
)
|
||||
|
||||
useExtensionEventEmitterHandler(SHOW_IMAGE_LIGHTBOX_EVENT_NAME, handler)
|
||||
|
||||
return (
|
||||
<ImageLightboxModal
|
||||
show={modalVisibility}
|
||||
onHide={closeModal}
|
||||
src={lightboxDetails?.src}
|
||||
alt={lightboxDetails?.alt}
|
||||
title={lightboxDetails?.title}
|
||||
/>
|
||||
)
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue