| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <template>
- <LayoutNavigation />
- <div v-if="shouldShowStickyMenu" id="sticky-menu">
- <LayoutUIStickyMenu
- :shouldShowStickyMenu="shouldShowStickyMenu"
- :squaresData="squaresData"
- />
- </div>
- <HomeCaroussel />
- <HomePromotion />
- <HomeSolution />
- <div class="spacer"></div>
- <HomeEventAgenda />
- <HomeBesoin />
- <HomeReviews />
- <!-- <HomeNews /> -->
- <HomeHelp />
- <LayoutPrefooter />
- <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: 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>
- .spacer {
- height: 2rem;
- }
- #sticky-menu {
- position: sticky;
- top: 30rem;
- z-index: 1;
- margin-bottom: -32rem;
- float: right;
- }
- @media (max-width: 1800px) {
- #sticky-menu {
- top: 26rem;
- margin-bottom: -28rem;
- }
- }
- </style>
|