poc.vue 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343
  1. <template>
  2. <div id="Temoignages">
  3. <LayoutContainer>
  4. <div class="container-green">
  5. <v-row>
  6. <v-col cols="12">
  7. <h3 class="reviews-title">
  8. Découvrez toutes les fonctionnalités de notre solution
  9. </h3>
  10. <div class="d-flex justify-center align-center">
  11. <div class="carousel-button" @click="goPrevious">
  12. <i class="fas fa-chevron-left" />
  13. </div>
  14. <div class="carousel-button" @click="goNext">
  15. <i class="fas fa-chevron-right" />
  16. </div>
  17. </div>
  18. </v-col>
  19. </v-row>
  20. <v-row>
  21. <v-col cols="12">
  22. <Carousel
  23. ref="carousel"
  24. :items-to-show="5"
  25. :items-to-scroll="1"
  26. class="carousel"
  27. :center-mode="true"
  28. :center-on-init="true"
  29. >
  30. <Slide
  31. v-for="(card, index) in cards"
  32. :key="index"
  33. :class="{
  34. card: true,
  35. 'active-card': index === activeCardIndex,
  36. }"
  37. >
  38. <div class="card-container">
  39. <v-card>
  40. <v-card-title>
  41. <h1 class="card-title">{{ card.title }}</h1>
  42. </v-card-title>
  43. <v-card-item>
  44. <v-card-text class="review-description">
  45. <ul>
  46. <li class="list-detail" v-for="item in card.list">
  47. {{ item }}
  48. </li>
  49. </ul>
  50. </v-card-text>
  51. <!-- <div class="card-footer">
  52. <v-card-actions class="reviewer-name">
  53. {{ card.name }}
  54. </v-card-actions>
  55. <p class="reviewer-status">
  56. {{ card.status }}
  57. </p>
  58. <p class="reviewer-structure">
  59. {{ card.structure }}
  60. </p>
  61. </div> -->
  62. </v-card-item>
  63. </v-card>
  64. </div>
  65. </Slide>
  66. </Carousel>
  67. </v-col>
  68. </v-row>
  69. </div>
  70. </LayoutContainer>
  71. </div>
  72. </template>
  73. <script setup>
  74. import { ref } from "vue";
  75. import { Carousel, Slide } from "vue3-carousel";
  76. import "vue3-carousel/dist/carousel.css";
  77. const carousel = ref(null);
  78. const activeCardIndex = ref(2);
  79. const goPrevious = () => {
  80. const newIndex = activeCardIndex.value - 1;
  81. if (newIndex >= 0) {
  82. activeCardIndex.value = newIndex;
  83. carousel.value.prev();
  84. carousel.value.goTo(activeCardIndex.value); // Centre la nouvelle carte active
  85. }
  86. };
  87. const goNext = () => {
  88. const newIndex = activeCardIndex.value + 1;
  89. if (newIndex < cards.length) {
  90. activeCardIndex.value = newIndex;
  91. carousel.value.next();
  92. carousel.value.goTo(activeCardIndex.value); // Centre la nouvelle carte active
  93. }
  94. };
  95. const cards = [
  96. {
  97. title: "ESPACES DÉDIÉS",
  98. list: ["Espace élève", "Espace professeur", "Espace administrateur"],
  99. },
  100. {
  101. title: "RÉPERTOIRE",
  102. list: [
  103. "Élèves et responsable légaux",
  104. "Personnel administratif et professeurs",
  105. "Contacts extérieurs, partenaires & donateurs",
  106. ],
  107. },
  108. {
  109. title: "PRÉINSCRIPTION EN LIGNE",
  110. list: [
  111. "Parametrage personnalisé des formulaires & mails automatiques",
  112. "Gestion des réinscriptions et des nouvelles inscriptionse",
  113. "Gestion des quotas et du suivi des préinscription en ligne",
  114. ],
  115. },
  116. {
  117. title: "AGENDA",
  118. list: [
  119. "Création et gestion des cours, examens, événements et prestations pédagogiques",
  120. "Planning interactif avec un contrôle de cohérence",
  121. "Gestion des présences et absences",
  122. ],
  123. },
  124. {
  125. title: "PARC MATÉRIEL ",
  126. list: [
  127. "Gestion de votre parc matériel (instruments, costumes, accessoires..)",
  128. "Planning interactif avec un contrôle de cohérence",
  129. "Gestion des présences et absences",
  130. ],
  131. },
  132. {
  133. title: "SUIVI PÉDAGOGIQUE",
  134. list: [
  135. "Gestion du cursus pédagogique (critères personnalisables)",
  136. "Création des examens et envoi des convocations",
  137. "Édition des bulletins de notes",
  138. ],
  139. },
  140. {
  141. title: "FACTURATION",
  142. list: [
  143. "Facturation automatisée selon différents critères",
  144. "Suivi des règlements et gestion des relances",
  145. "n options : de nombreux moyens de paiement",
  146. ],
  147. },
  148. {
  149. title: "COMMUNICATION",
  150. list: [
  151. "Édition et envoi de courriers, de mails ou de SMS*(*en option)",
  152. "Création de modèles de courriers, mails ou SMS",
  153. "Outil de publipostage intégré pour un envoi personnalisé",
  154. ],
  155. },
  156. {
  157. title: "SITE INTERNET ",
  158. list: [
  159. "Gestion intégrée au logiciel",
  160. "Mise à jour automatique des membres et événements sur votre site",
  161. "Possibilité de personnalisé votre template",
  162. ],
  163. },
  164. {
  165. title: "STATISTIQUE",
  166. list: [
  167. "Rapport d'activité complet en fonction de vos activités",
  168. "Personnalisation du rapport d'activité grâce aux différents formats proposés lors du téléchargement",
  169. "Export des données du logiciel pour une analyse complète",
  170. ],
  171. },
  172. {
  173. title: "RÉSEAU CMF ",
  174. list: ["Espace élève", "Espace professeur", "Espace administrateur"],
  175. },
  176. {
  177. title: "PROMOTION DE VOTRE STRUCTURE & VOS ÉVÉNEMENTS ",
  178. list: [
  179. "Sur votre site internet intégré",
  180. "Sur l'agenda de la CMF",
  181. "Sur l'Agenda culturel Opentalent ",
  182. ],
  183. },
  184. ];
  185. </script>
  186. <style scoped>
  187. .list-detail {
  188. font-family: "Barlow";
  189. font-style: normal;
  190. font-weight: 300;
  191. font-size: 1.2rem;
  192. line-height: 1.2rem;
  193. margin-bottom: 1rem;
  194. color: #000000;
  195. width: 100%;
  196. }
  197. .card-title {
  198. white-space: pre-wrap;
  199. }
  200. .carousel {
  201. margin-left: 2rem;
  202. margin-right: 2rem;
  203. }
  204. .card.active-card {
  205. /* Supprimez les anciennes propriétés width et border */
  206. }
  207. .card {
  208. font-family: "Barlow";
  209. font-style: normal;
  210. font-weight: 300;
  211. /* Les styles de carte par défaut */
  212. transition: transform 0.3s; /* Ajoutez une transition pour un effet de zoom fluide */
  213. min-width: 20%;
  214. max-width: 20%;
  215. }
  216. .card.active-card {
  217. transform: scale(1.15); /* Agrandit la carte active de 10% */
  218. }
  219. .carousel-button {
  220. display: flex;
  221. justify-content: center;
  222. align-items: center;
  223. width: 40px;
  224. height: 40px;
  225. background-color: transparent;
  226. border: 2px solid #fff;
  227. cursor: pointer;
  228. margin-right: 1rem;
  229. margin-top: 4rem;
  230. }
  231. .carousel-button i {
  232. color: #fff;
  233. }
  234. .reviewer-name {
  235. font-family: "Barlow";
  236. font-style: normal;
  237. font-weight: 500;
  238. font-size: 20px;
  239. line-height: 24px;
  240. color: rgba(32, 147, 190);
  241. }
  242. .reviewer-status {
  243. font-family: "Barlow";
  244. font-family: "Barlow";
  245. font-style: normal;
  246. font-weight: 600;
  247. font-size: 12px;
  248. line-height: 16px;
  249. display: flex;
  250. align-items: center;
  251. letter-spacing: 0.18em;
  252. text-transform: uppercase;
  253. }
  254. .reviewer-structure {
  255. font-family: "Barlow";
  256. font-style: normal;
  257. font-weight: 300;
  258. font-size: 0.8rem;
  259. line-height: 14px;
  260. display: flex;
  261. align-items: center;
  262. margin-bottom: 1rem;
  263. color: #071b1f;
  264. }
  265. .review-description {
  266. text-align: left;
  267. }
  268. .card-footer {
  269. display: flex;
  270. flex-direction: column;
  271. align-items: flex-start;
  272. margin-left: 5.5rem;
  273. margin-top: 3rem;
  274. }
  275. .card-text {
  276. font-family: "Barlow";
  277. font-style: normal;
  278. font-weight: 300;
  279. font-size: 1rem;
  280. line-height: 1rem;
  281. margin-left: 1.5rem;
  282. margin-right: 1.5rem;
  283. height: 12rem;
  284. }
  285. .reviews-title {
  286. font-size: 2rem;
  287. font-weight: 700;
  288. color: #fff;
  289. font-family: "Barlow";
  290. font-style: normal;
  291. font-weight: 600;
  292. font-size: 42px;
  293. line-height: 42px;
  294. margin-left: 3rem;
  295. margin-right: 3rem;
  296. margin-top: 5rem;
  297. text-align: center;
  298. }
  299. .card {
  300. width: 80rem;
  301. min-height: 35rem;
  302. max-height: 35rem;
  303. border-radius: 1rem;
  304. }
  305. .v-card {
  306. border-radius: 1rem;
  307. min-height: 20rem;
  308. max-height: 20rem;
  309. min-width: 20rem;
  310. max-width: 20rem;
  311. }
  312. .card-container {
  313. display: flex;
  314. justify-content: center;
  315. align-items: center;
  316. margin-bottom: 3rem;
  317. margin-right: 2rem;
  318. }
  319. .container-green {
  320. background-color: #0e2d32;
  321. }
  322. </style>