Fonctionnalites.vue 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. <template>
  2. <div id="Fonctionnalites">
  3. <LayoutContainer>
  4. <div class="container-green">
  5. <div class="title-container mt-6">
  6. <v-icon size="6" class="fa-solid fa-circle icon-title mt-6 ml-6" />
  7. <h4 class="subtitle mt-6">
  8. Découvrez TOUTES LES FONCTIONNALITÉS DE NOTRE solution
  9. </h4>
  10. </div>
  11. <div class="title-container">
  12. <h4 class="title mt-6 ml-3">
  13. Des fonctionnalités adaptées à vos besoins
  14. </h4>
  15. </div>
  16. <v-row>
  17. <v-col cols="12">
  18. <div class="d-flex justify-center align-center">
  19. <div class="carousel-button" @click="previousAction">
  20. <i class="fas fa-chevron-left" />
  21. </div>
  22. <div class="carousel-button" @click="nextAction">
  23. <i class="fas fa-chevron-right" />
  24. </div>
  25. </div>
  26. </v-col>
  27. </v-row>
  28. <v-row>
  29. <v-col cols="12">
  30. <Carousel
  31. ref="functionCarousel"
  32. :items-to-show="5"
  33. :items-to-scroll="1"
  34. class="carousel"
  35. >
  36. <Slide
  37. v-for="(card, index) in cards"
  38. :key="index"
  39. :class="{
  40. card: true,
  41. 'active-card': index === activeCardIndex,
  42. }"
  43. >
  44. <div class="card-container">
  45. <v-card>
  46. <v-card-title>
  47. <h1 class="card-title">{{ card.title }}</h1>
  48. </v-card-title>
  49. <v-card-item>
  50. <v-card-text class="review-description">
  51. <ul>
  52. <li class="list-detail" v-for="item in card.list">
  53. {{ item }}
  54. </li>
  55. </ul>
  56. </v-card-text>
  57. <div class="card-footer">
  58. <!-- <v-card-actions class="reviewer-name">
  59. {{ card.name }}
  60. </v-card-actions>
  61. <p class="reviewer-status">
  62. {{ card.status }}
  63. </p> -->
  64. <p class="reviewer-structure">
  65. {{ card.option }}
  66. </p>
  67. </div>
  68. </v-card-item>
  69. </v-card>
  70. </div>
  71. </Slide>
  72. </Carousel>
  73. </v-col>
  74. </v-row>
  75. </div>
  76. </LayoutContainer>
  77. </div>
  78. </template>
  79. <script setup>
  80. import { ref } from "vue";
  81. import { Carousel, Slide } from "vue3-carousel";
  82. import "vue3-carousel/dist/carousel.css";
  83. const functionCarousel = ref(null);
  84. const activeCardIndex = ref(2);
  85. const previousAction = () => {
  86. const newIndex = activeCardIndex.value - 1;
  87. if (newIndex >= 0) {
  88. activeCardIndex.value = newIndex;
  89. functionCarousel.value.prev();
  90. }
  91. };
  92. const nextAction = () => {
  93. const newIndex = activeCardIndex.value + 1;
  94. if (newIndex < cards.length) {
  95. activeCardIndex.value = newIndex;
  96. functionCarousel.value.next();
  97. }
  98. };
  99. const cards = [
  100. {
  101. title: "ESPACES DÉDIÉS",
  102. list: ["Administration", "Membres/Adhérents"],
  103. },
  104. {
  105. title: "RÉPERTOIRE",
  106. list: [
  107. "Membres",
  108. "Personnel administratif ",
  109. "Contacts extérieurs, partenaires & donateurs",
  110. ],
  111. },
  112. {
  113. title: "AGENDA",
  114. list: [
  115. "Création et gestion des événements internes et externes",
  116. "Invitation aux événements",
  117. "Gestion des présences ",
  118. ],
  119. },
  120. {
  121. title: "PARC MATÉRIEL ",
  122. list: [
  123. "Gestion de votre parc matériel (instruments, costumes, accessoires..)",
  124. "Locations et prêts de matériel",
  125. "Partage de partitions",
  126. ],
  127. },
  128. {
  129. title: "COMMUNICATION",
  130. list: [
  131. "Édition et envoi de courriers, de mails ou de SMS*",
  132. "Création de modèles de courriers, mails ou SMS",
  133. "Outil de publipostage intégré pour un envoi personnalisé",
  134. ],
  135. option: "* en option",
  136. },
  137. {
  138. title: "SITE INTERNET ",
  139. list: [
  140. "Gestion intégrée au logiciel",
  141. "Mise à jour automatique des membres et événements sur votre site",
  142. "Possibilité de personnalisé votre template",
  143. ],
  144. },
  145. {
  146. title: "STATISTIQUE",
  147. list: [
  148. "Rapport d'activité complet en fonction de vos activités",
  149. "Personnalisation du rapport d'activité grâce aux différents formats proposés lors du téléchargement",
  150. "Export des données du logiciel pour une analyse complète",
  151. ],
  152. },
  153. {
  154. title: "RÉSEAU CMF ",
  155. list: [
  156. "Accès au répertoire du réseau",
  157. "Renouvellement de votre adhésion fédérale",
  158. "Gestion de l'assurance CMF",
  159. ],
  160. },
  161. {
  162. title: "PROMOTION DE VOTRE STRUCTURE & VOS ÉVÉNEMENTS ",
  163. list: [
  164. "Sur votre site internet intégré",
  165. "Sur l'agenda de la CMF",
  166. "Sur l'Agenda culturel Opentalent ",
  167. ],
  168. },
  169. ];
  170. </script>
  171. <style scoped>
  172. .title {
  173. font-family: "Barlow";
  174. font-weight: 600;
  175. font-size: 3rem;
  176. line-height: 2.4rem;
  177. color: white;
  178. width: 35rem;
  179. }
  180. .list-detail {
  181. font-family: "Barlow";
  182. font-style: normal;
  183. font-weight: 300;
  184. font-size: 1.2rem;
  185. line-height: 1.2rem;
  186. margin-bottom: 1rem;
  187. color: #000000;
  188. width: 100%;
  189. }
  190. .card-title {
  191. white-space: pre-wrap;
  192. }
  193. .carousel {
  194. margin-left: 2rem;
  195. margin-right: 2rem;
  196. }
  197. .card.active-card {
  198. }
  199. .title-container {
  200. display: flex;
  201. align-items: center;
  202. }
  203. .subtitle-avantage {
  204. font-family: "Barlow";
  205. font-weight: 600;
  206. font-size: 3rem;
  207. line-height: 18px;
  208. color: white;
  209. }
  210. .subtitle {
  211. color: white;
  212. font-family: "Barlow";
  213. font-size: 1rem;
  214. font-style: normal;
  215. font-weight: 600;
  216. line-height: 15px;
  217. letter-spacing: 1.8px;
  218. text-transform: uppercase;
  219. }
  220. .icon-title {
  221. color: #fac20a;
  222. margin-right: 0.5rem;
  223. }
  224. .card {
  225. font-family: "Barlow";
  226. font-style: normal;
  227. font-weight: 300;
  228. transition: transform 0.3s;
  229. min-width: 20%;
  230. max-width: 20%;
  231. }
  232. .card.active-card {
  233. transform: scale(1.05);
  234. }
  235. .carousel-button {
  236. display: flex;
  237. justify-content: center;
  238. align-items: center;
  239. width: 40px;
  240. height: 40px;
  241. background-color: transparent;
  242. border: 2px solid #fff;
  243. cursor: pointer;
  244. margin-right: 1rem;
  245. margin-top: 4rem;
  246. }
  247. .carousel-button i {
  248. color: #fff;
  249. }
  250. .reviewer-name {
  251. font-family: "Barlow";
  252. font-style: normal;
  253. font-weight: 500;
  254. font-size: 20px;
  255. line-height: 24px;
  256. color: rgba(32, 147, 190);
  257. }
  258. .reviewer-status {
  259. font-family: "Barlow";
  260. font-family: "Barlow";
  261. font-style: normal;
  262. font-weight: 600;
  263. font-size: 12px;
  264. line-height: 16px;
  265. display: flex;
  266. align-items: center;
  267. letter-spacing: 0.18em;
  268. text-transform: uppercase;
  269. }
  270. .reviewer-structure {
  271. font-family: "Barlow";
  272. font-style: normal;
  273. font-weight: 300;
  274. font-size: 0.8rem;
  275. line-height: 14px;
  276. display: flex;
  277. align-items: center;
  278. margin-bottom: 1rem;
  279. color: #071b1f;
  280. }
  281. .review-description {
  282. text-align: left;
  283. }
  284. .card-footer {
  285. /** coller à droite */
  286. position: absolute;
  287. right: 0;
  288. margin-right: 2rem;
  289. }
  290. .card-text {
  291. font-family: "Barlow";
  292. font-style: normal;
  293. font-weight: 300;
  294. font-size: 1rem;
  295. line-height: 1rem;
  296. height: 12rem;
  297. }
  298. .reviews-title {
  299. color: #fff;
  300. font-family: "Barlow";
  301. font-size: 1rem;
  302. font-style: normal;
  303. font-weight: 600;
  304. line-height: 15px;
  305. letter-spacing: 1.8px;
  306. text-transform: uppercase;
  307. margin-left: 1rem;
  308. width: 10rem;
  309. }
  310. .card {
  311. width: 80rem;
  312. min-height: 35rem;
  313. max-height: 35rem;
  314. border-radius: 1rem;
  315. }
  316. .v-card {
  317. border-radius: 1rem;
  318. min-height: 20rem;
  319. max-height: 20rem;
  320. min-width: 20rem;
  321. max-width: 20rem;
  322. }
  323. .card-container {
  324. display: flex;
  325. justify-content: center;
  326. align-items: center;
  327. margin-bottom: 3rem;
  328. margin-right: 2rem;
  329. }
  330. .container-green {
  331. background-color: #0e2d32;
  332. }
  333. </style>