MainPane.tsx 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. import { ReactNode } from 'react';
  2. type Props = {
  3. children?: ReactNode,
  4. sideContents?: ReactNode,
  5. footerContents?: ReactNode,
  6. }
  7. export const MainPane = (props: Props): JSX.Element => {
  8. const {
  9. children, sideContents, footerContents,
  10. } = props;
  11. return (
  12. <>
  13. <div className="flex-grow-1">
  14. <div id="main" className="main">
  15. <div id="content-main" className="content-main container-lg grw-container-convertible">
  16. { sideContents != null
  17. ? (
  18. <div className="d-flex flex-column flex-column-reverse flex-lg-row">
  19. <div className="flex-grow-1 flex-basis-0 mw-0">
  20. {children}
  21. </div>
  22. <div className="grw-side-contents-container d-edit-none" data-vrt-blackout-side-contents>
  23. <div className="grw-side-contents-sticky-container">
  24. {sideContents}
  25. </div>
  26. </div>
  27. </div>
  28. )
  29. : (
  30. <>{children}</>
  31. )
  32. }
  33. </div>
  34. </div>
  35. </div>
  36. { footerContents != null && (
  37. <footer className="footer d-edit-none">
  38. {footerContents}
  39. </footer>
  40. ) }
  41. </>
  42. );
  43. };