import ReactDOM from 'react-dom'; import classNames from "classnames"; import { useDispatch, useSelector } from "react-redux"; import PanelActions from './actions/PanelActions'; import { useEffect, useState } from 'react'; import CouponPanel from './CouponPanel'; import {LegacyModelSelectorButton} from "./tree/LegacyModelSelectorButton"; const {setActivePanel} = PanelActions; const getHeaderTargetElement = () => $('.cp-after-code')[0] const HeaderPortal = ({ children }) => { const portalRoot = getHeaderTargetElement(); return ReactDOM.createPortal(children, portalRoot); }; export const Tabs = ({panels}) => { const dispatch = useDispatch() const selectedPanel = useSelector(state => state.selectedPanel) || CouponPanel.label const [canRender, setCanRender] = useState(false) useEffect(() => { const interval = setInterval(() => { if (getHeaderTargetElement()) { clearInterval(interval) setCanRender(true) } }, 500) }, []) if (!canRender) { return null } const panelButton = Panel => ( ) return
{panels.filter(Panel => !Panel?.aside).map(Panel => { return panelButton(Panel) })}
{panels.filter(Panel => Panel?.aside).map(Panel => { return panelButton(Panel) })}
}