| 1 |
import Page from 'elementor-app/layout/page'; |
| 2 |
import Menu from '../organisms/menu'; |
| 3 |
import TemplateTypesContext from '../context/template-types'; |
| 4 |
|
| 5 |
import './site-editor.scss'; |
| 6 |
|
| 7 |
export default function Layout( props ) { |
| 8 |
const config = { |
| 9 |
title: __( 'Theme Builder', 'elementor' ), |
| 10 |
titleRedirectRoute: props.titleRedirectRoute ?? null, |
| 11 |
headerButtons: props.headerButtons, |
| 12 |
sidebar: <Menu allPartsButton={ props.allPartsButton } promotion={ props.promotion } />, |
| 13 |
content: props.children, |
| 14 |
}; |
| 15 |
|
| 16 |
return ( |
| 17 |
<TemplateTypesContext> |
| 18 |
<Page { ...config } /> |
| 19 |
</TemplateTypesContext> |
| 20 |
); |
| 21 |
} |
| 22 |
|
| 23 |
Layout.propTypes = { |
| 24 |
headerButtons: PropTypes.arrayOf( PropTypes.object ), |
| 25 |
allPartsButton: PropTypes.element.isRequired, |
| 26 |
children: PropTypes.object.isRequired, |
| 27 |
promotion: PropTypes.bool, |
| 28 |
titleRedirectRoute: PropTypes.string, |
| 29 |
}; |
| 30 |
|
| 31 |
Layout.defaultProps = { |
| 32 |
headerButtons: [], |
| 33 |
}; |
| 34 |
|