/* * SPDX-FileCopyrightText: 2021 The HedgeDoc developers (see AUTHORS file) * * SPDX-License-Identifier: AGPL-3.0-only */ import type { Element } from 'domhandler' import React from 'react' import { ComponentReplacer } from '../component-replacer' import { ProxyImageFrame } from './proxy-image-frame' export type ImageClickHandler = (event: React.MouseEvent) => void /** * Detects image tags and loads them via image proxy if configured. */ export class ImageReplacer extends ComponentReplacer { private readonly clickHandler?: ImageClickHandler constructor(clickHandler?: ImageClickHandler) { super() this.clickHandler = clickHandler } public replace(node: Element): React.ReactElement | undefined { if (node.name === 'img') { return ( ) } } }