| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- <template>
- <LayoutNavigation />
- <div v-if="shouldShowStickyMenu" id="sticky-menu">
- <LayoutUIStickyMenu
- :shouldShowStickyMenu="shouldShowStickyMenu"
- :squaresData="squaresData"
- />
- </div>
- <FormationBanner />
- <FormationMenuScroll />
- <FormationPresentation />
- <FormationCatalogue />
- <FormationOPCA />
- <FormationCertification />
- <FormationParticipation />
- <FormationReviews />
- <LayoutFAQ />
- <LayoutUISolutionsFooter id="layout-footer"/>
- <LayoutFooter id="layout-footer" />
- </template>
- <script setup>
- import { ref, onMounted } from "vue";
- import { useRouter } from 'vue-router';
- const router = useRouter();
- const shouldShowStickyMenu = ref(true);
- const squaresData = [
- {
- id: 1,
- bgColor: "green-square",
- iconClass: "fa-regular fa-comments icon",
- text: "Nous contacter",
- url: "/nous-contacter",
- },
- {
- id: 2,
- bgColor: "green-square",
- iconClass: "fa-solid fa-circle-info icon",
- text: "Demander une demo",
- 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: 1;
- margin-bottom: -32rem;
- float: right;
- }
- @media (max-width: 1800px) {
- #sticky-menu {
- top: 16rem;
- margin-bottom: -28rem;
- }
- }
- </style>
|