2022-03-31 07:22:36 -04:00
|
|
|
import { memo } from 'react'
|
2021-11-30 09:54:14 -05:00
|
|
|
import PropTypes from 'prop-types'
|
|
|
|
import classnames from 'classnames'
|
|
|
|
import { useLayoutContext } from '../../../shared/context/layout-context'
|
2022-03-31 07:22:36 -04:00
|
|
|
import { useDetachCompileContext as useCompileContext } from '../../../shared/context/detach-compile-context'
|
2021-11-30 09:54:14 -05:00
|
|
|
import PdfCompileButtonInner from './pdf-compile-button-inner'
|
|
|
|
|
|
|
|
export function DetachCompileButton() {
|
|
|
|
const { compiling, hasChanges, startCompile } = useCompileContext()
|
|
|
|
|
|
|
|
return (
|
|
|
|
<div
|
|
|
|
className={classnames({
|
|
|
|
'btn-recompile-group': true,
|
|
|
|
'btn-recompile-group-has-changes': hasChanges,
|
|
|
|
})}
|
|
|
|
>
|
|
|
|
<PdfCompileButtonInner
|
2022-03-31 07:22:36 -04:00
|
|
|
startCompile={startCompile}
|
2021-11-30 09:54:14 -05:00
|
|
|
compiling={compiling}
|
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
export function DetachCompileButtonWrapper() {
|
|
|
|
const { detachRole, detachIsLinked } = useLayoutContext(
|
|
|
|
layoutContextPropTypes
|
|
|
|
)
|
|
|
|
|
|
|
|
if (detachRole !== 'detacher' || !detachIsLinked) {
|
|
|
|
return null
|
|
|
|
}
|
|
|
|
|
|
|
|
return <DetachCompileButton />
|
|
|
|
}
|
|
|
|
|
|
|
|
const layoutContextPropTypes = {
|
|
|
|
detachRole: PropTypes.string,
|
|
|
|
detachIsLinked: PropTypes.bool,
|
|
|
|
}
|
|
|
|
|
|
|
|
export default memo(DetachCompileButtonWrapper)
|