mirror of
https://github.com/hedgedoc/hedgedoc.git
synced 2025-05-14 07:04:45 -04:00
27 lines
712 B
TypeScript
27 lines
712 B
TypeScript
/*
|
|
SPDX-FileCopyrightText: 2020 The HedgeDoc developers (see AUTHORS file)
|
|
|
|
SPDX-License-Identifier: AGPL-3.0-only
|
|
*/
|
|
|
|
import React, { useEffect, useRef } from 'react'
|
|
|
|
export interface AbcFrameProps {
|
|
code: string
|
|
}
|
|
|
|
export const AbcFrame: React.FC<AbcFrameProps> = ({ code }) => {
|
|
const container = useRef<HTMLDivElement>(null)
|
|
|
|
useEffect(() => {
|
|
if (!container.current) {
|
|
return
|
|
}
|
|
const actualContainer = container.current
|
|
import(/* webpackChunkName: "abc.js" */ 'abcjs').then((imp) => {
|
|
imp.renderAbc(actualContainer, code)
|
|
}).catch(() => { console.error('error while loading abcjs') })
|
|
}, [code])
|
|
|
|
return <div ref={container} className={'bg-white text-center'}/>
|
|
}
|