/* global React, ReactDOM, Nav, PageHero, SplitBlock, StatRow, Gallery, Process, Packages, Quote, ContactForm, MaternityCalc, PageFooter, FinalCTA, setupReveals */

function PageShell({ children }) {
  return (
    <React.Fragment>
      <Nav />
      {children}
      <PageFooter />
    </React.Fragment>
  );
}

function mountPage(content) {
  const root = ReactDOM.createRoot(document.getElementById('root'));
  root.render(<PageShell>{content}</PageShell>);
  // Setup reveals after render
  requestAnimationFrame(() => {
    setTimeout(() => {
      if (window.setupReveals) window.setupReveals();
      // refresh ScrollTrigger
      if (window.ScrollTrigger) window.ScrollTrigger.refresh();
    }, 60);
  });
}

window.PageShell = PageShell;
window.mountPage = mountPage;
