/home/smartbloks/.trash/extendify/src/Assist/hooks/useEditorHeightAdjust.js
import { useEffect, useRef } from '@wordpress/element'

/** Adjusts the editor height to fit the taskbar drop */
export const useEditorHeightAdjust = ({ open, leaveDelay = 0 }) => {
    const timerId = useRef(0)
    const previous = useRef(null)

    useEffect(() => {
        const editor = document.querySelector('.edit-post-layout')
        if (!open) return
        if (!editor) return
        clearTimeout(timerId.current)
        // Return if in full screen mode
        if (document.body.classList.contains('is-fullscreen-mode')) return
        // In case something is there, save it for when we close
        if (open) previous.current = editor.style
        const previousStyles = previous.current
        // Position it so it plays nicely with the expanding taskbar
        editor.style.position = 'absolute'
        editor.style.left = '0'
        editor.style.top = '0'
        editor.style.right = '0'
        return () => {
            const editor = document.querySelector('.edit-post-layout')
            timerId.current = setTimeout(() => {
                editor.style = previousStyles
            }, leaveDelay)
        }
    }, [open, leaveDelay])
}