freemium.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. <template>
  2. <div class="layout-wrapper">
  3. <!-- Show the loading page -->
  4. <client-only placeholder-tag="client-only-placeholder" placeholder=" " />
  5. <v-app class="app-wrapper">
  6. <LayoutLoadingScreen />
  7. <LayoutHeader />
  8. <v-main class="main">
  9. <!-- Page will be rendered here-->
  10. <div>
  11. <LayoutSubheader />
  12. <LayoutAlertBar />
  13. <slot />
  14. </div>
  15. </v-main>
  16. <!-- Footer -->
  17. <v-footer class="white--text footer theme-secondary">
  18. <v-row v-if="smAndUp">
  19. <v-col cols="12" sm="3">
  20. <p class="text-h6 font-weight-bold text-center">
  21. {{ $t('DÉCOUVREZ NOS SOLUTIONS') }}
  22. </p>
  23. </v-col>
  24. <v-col cols="12" sm="2" class="text-center text-product">
  25. <a
  26. href="https://logiciels.opentalent.fr/opentalent-artist"
  27. target="_blank"
  28. >
  29. <img
  30. src="/images/Opentalent_Artist-Blanc.png"
  31. height="70"
  32. class="mb-2"
  33. />
  34. <p>{{ $t('artist_def') }}</p>
  35. </a>
  36. </v-col>
  37. <v-col cols="12" sm="2" class="text-center text-product">
  38. <a
  39. href="https://logiciels.opentalent.fr/opentalent-school"
  40. target="_blank"
  41. >
  42. <img
  43. src="/images/Opentalent_School-Blanc.png"
  44. height="70"
  45. class="mb-2"
  46. />
  47. <p>{{ $t('school_def') }}</p>
  48. </a>
  49. </v-col>
  50. <v-col cols="12" sm="2" class="text-center text-product">
  51. <a
  52. href="https://logiciels.opentalent.fr/opentalent-manager"
  53. target="_blank"
  54. >
  55. <img
  56. src="/images/Opentalent_Manager-Blanc.png"
  57. height="70"
  58. class="mb-2"
  59. />
  60. <p>{{ $t('manager_def') }}</p>
  61. </a>
  62. </v-col>
  63. <v-col cols="12" sm="2" class="text-center text-product">
  64. <a href="https://opentalent.fr/" target="_blank">
  65. <img src="/images/OT_Logo_Agenda.png" height="70" class="mb-2" />
  66. <p>{{ $t('agenda_def') }}</p>
  67. </a>
  68. </v-col>
  69. </v-row>
  70. <v-row v-else>
  71. <v-col cols="12">
  72. <p class="text-h6 font-weight-bold text-center">
  73. {{ $t('DÉCOUVREZ NOS SOLUTIONS') }}
  74. </p>
  75. </v-col>
  76. <v-col cols="3" class="text-center text-product">
  77. <a
  78. href="https://logiciels.opentalent.fr/opentalent-artist"
  79. target="_blank"
  80. >
  81. <img
  82. src="/images/Opentalent_Artist_Griffe.png"
  83. height="70"
  84. class="mb-2"
  85. />
  86. </a>
  87. </v-col>
  88. <v-col cols="3" class="text-center text-product">
  89. <a
  90. href="https://logiciels.opentalent.fr/opentalent-school"
  91. target="_blank"
  92. >
  93. <img
  94. src="/images/Opentalent_School_Griffe.png"
  95. height="70"
  96. class="mb-2"
  97. />
  98. </a>
  99. </v-col>
  100. <v-col cols="3" class="text-center text-product">
  101. <a
  102. href="https://logiciels.opentalent.fr/opentalent-manager"
  103. target="_blank"
  104. >
  105. <img
  106. src="/images/Opentalent_Manager_Griffe.png"
  107. height="70"
  108. class="mb-2"
  109. />
  110. </a>
  111. </v-col>
  112. <v-col cols="3" class="text-center text-product">
  113. <a href="https://opentalent.fr" target="_blank">
  114. <img
  115. src="/images/Opentalent_Griffe.png"
  116. height="70"
  117. class="mb-2"
  118. />
  119. </a>
  120. </v-col>
  121. </v-row>
  122. </v-footer>
  123. <LazyLayoutAlertContainer />
  124. </v-app>
  125. </div>
  126. </template>
  127. <script setup lang="ts">
  128. import { useLayoutStore } from '~/stores/layout'
  129. import { useDisplay } from 'vuetify'
  130. const { smAndUp, sm } = useDisplay()
  131. const layoutStore = useLayoutStore()
  132. layoutStore.name = 'freemium'
  133. const route = useRoute()
  134. const i18n = useI18n()
  135. const pageTitle = computed(() => i18n.t(route.name || 'freemium_page'))
  136. </script>
  137. <style scoped lang="scss">
  138. .layout-wrapper,
  139. .app-wrapper {
  140. display: flex;
  141. flex-direction: column;
  142. min-height: 100vh;
  143. }
  144. .main {
  145. flex: 1 0 auto; /* Prend tout l’espace restant */
  146. }
  147. .v-footer {
  148. padding-left: 50px;
  149. padding-right: 50px;
  150. padding-top: 20px;
  151. padding-bottom: 20px;
  152. flex: 0 0 auto !important;
  153. .text-product {
  154. font-size: 13px;
  155. }
  156. a {
  157. color: white;
  158. text-decoration: none;
  159. }
  160. }
  161. </style>