| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- <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>
|