/* global React, ReactDOM */

const required = [
  "A_TopBar", "A_Nav", "A_Hero", "A_Services", "A_Differentiators",
  "A_Tools", "A_Testimonials", "A_Locations", "A_BlogFaq",
  "A_BigCTA", "A_Footer", "A_StickyBar",
];

(function mount() {
  if (required.some((k) => typeof window[k] !== "function")) {
    return setTimeout(mount, 16);
  }
  const {
    A_TopBar, A_Nav, A_Hero, A_Services, A_Differentiators, A_Tools,
    A_Testimonials, A_Locations, A_BlogFaq, A_BigCTA, A_Footer, A_StickyBar,
  } = window;

  const Landing = () => {
    React.useEffect(() => {
      if (typeof window.A_initLenis === "function") window.A_initLenis();
      if (typeof window.A_installRevealObserver === "function") {
        window.A_installRevealObserver();
      }
    }, []);
    return (
      <div className="A-root">
        <A_TopBar />
        <A_Nav />
        <A_Hero />
        <A_Services />
        <A_Differentiators />
        <A_Tools />
        <A_Testimonials />
        <A_Locations />
        <A_BlogFaq />
        <A_BigCTA />
        <A_Footer />
        <A_StickyBar />
      </div>
    );
  };

  ReactDOM.createRoot(document.getElementById("root")).render(<Landing />);
})();
