<template>
  <LayoutNavigation />

  <FormationBanner />
  <CommonMenuScroll :menus="menus" class="mb-6" />
  <div v-if="shouldShowStickyMenu" id="sticky-menu">
    <CommonStickyMenu
      :shouldShowStickyMenu="shouldShowStickyMenu"
      :squaresData="squaresData"
    />
  </div>
  <FormationPresentation />
  <FormationCatalogue />
  <FormationOPCA />
  <FormationCertification />
  <FormationParticipation />
  <FormationReviews />
  <LayoutFAQ />
  <LayoutFooterSolutionsFooter id="layout-footer" />
  <LayoutFooter id="layout-footer" />
</template>

<script setup>
import { ref, onMounted } from "vue";

const menus = ref([
  { id: "Presentation", label: "Présentation", element: null },
  { id: "Catalogue", label: "Catalogue", element: null },
  { id: "Financement", label: "Financement", element: null },
  { id: "Certification", label: "Certification", element: null },
  { id: "Inscription", label: "Inscription", element: null },
  { id: "Temoignages", label: "Temoignages", element: null }
]).value;

const shouldShowStickyMenu = ref(true);

const squaresData = [
  {
    id: 1,
    bgColor: "green-square",
    iconClass: "fa-regular fa-comments icon",
    text: "Nous contacter",
    url: "/nous-contacter",
  },
  {
    id: 4,
    bgColor: "darkblue-square",
    iconClass: "fa-solid fa-phone icon",
    text: "Nous Appeler",
  },
];

onMounted(() => {
  const stickyMenu = document.getElementById("sticky-menu");
  const footer = document.getElementById("layout-footer");

  const observer = new IntersectionObserver(
    ([entry]) => {
      shouldShowStickyMenu.value = !entry.isIntersecting;
    },
    {
      root: null,
      threshold: 0,
    }
  );

  observer.observe(footer);
});
</script>

<style scoped>
#sticky-menu {
  position: sticky;
  top: 20rem;
  z-index: 2;
  margin-bottom: -32rem;
  float: right;
}

@media (max-width: 1800px) {
  #sticky-menu {
    top: 16rem;
    margin-bottom: -28rem;
  }
}
</style>
