Reviews.vue 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411
  1. <template>
  2. <LayoutContainer>
  3. <div :class="!smAndDown ? 'container-color' : 'container-color-md'">
  4. <div class="d-flex justify-center align-center flex-column">
  5. <v-icon size="6" class="fa-solid fa-circle icon-title" />
  6. <h6 class="small-title">Avis Clients</h6>
  7. </div>
  8. <h1 class="title-review" :class="smAndDown ? 'mb-12 ' : ''">
  9. C'est vous qui le dites
  10. </h1>
  11. </div>
  12. <div v-if="!smAndDown" class="container-green">
  13. <v-row justify="center">
  14. <div class="col-review">
  15. <v-col cols="6">
  16. <v-card class="review-card left mx-auto">
  17. <v-card-title>
  18. <span class="review-name">Patrice CATHELIN</span>
  19. </v-card-title>
  20. <v-card-text>
  21. <p class="description-review">
  22. C'est un logiciel très bien conçu et efficace avec une équipe
  23. ouverte, dynamique et à l'écoute. L’assistance est très
  24. réactive, j'ai toujours eu une réponse rapide à mes besoins,
  25. ce qui est fort appréciable.
  26. </p>
  27. </v-card-text>
  28. <div class="card-footer">
  29. <small class="status"
  30. >Directeur administratif & pédagogique</small
  31. >
  32. <small class="structure"
  33. >Conservatoire de Musique & de Danse de Sens (78)</small
  34. >
  35. </div>
  36. </v-card>
  37. </v-col>
  38. <v-col cols="6">
  39. <v-card class="review-card right mx-auto">
  40. <v-card-title>
  41. <span class="review-name">Karine GIRAUD </span>
  42. </v-card-title>
  43. <v-card-text>
  44. <p class="description-review">
  45. Étant présente depuis presque le début, je suis fière d'avoir
  46. vu grandir ce logiciel et d'avoir évoluée avec lui. De plus,
  47. je me suis sentie écoutée lors de mes propositions
  48. d'amélioration, car beaucoup ont vu le jour. Enfin,
  49. l'accompagnement et la réactivité n'ont jamais faibli depuis
  50. toutes ces années
  51. </p>
  52. </v-card-text>
  53. <div class="card-footer">
  54. <small class="status">Secrétaire administrative</small>
  55. <small class="structure">
  56. Association Musicale Sainte Cécile de Lagord (17)</small
  57. >
  58. </div>
  59. </v-card>
  60. </v-col>
  61. </div>
  62. </v-row>
  63. <v-row justify="center">
  64. <div class="col-review">
  65. <v-col cols="6">
  66. <v-card class="review-card left mx-auto">
  67. <v-card-title>
  68. <span class="review-name">Laurent BEL</span>
  69. </v-card-title>
  70. <v-card-text>
  71. <p class="description-review">
  72. Logiciel très complet qui permet de faire beaucoup de choses.
  73. J’apprécie particulièrement la réactivité, la bienveillance et
  74. le fait que l’équipe soit à l'écoute pour faire évoluer
  75. l'outil en fonction de nos besoins. Si besoin, la FAQ est
  76. vraiment utile. Elle permet de trouver rapidement une solution
  77. face à un problème rencontré..
  78. </p>
  79. </v-card-text>
  80. <div class="card-footer">
  81. <small class="status"
  82. >Directeur administratif & pédagogique
  83. </small>
  84. <small class="structure">
  85. École de Musique EPIC Musique en 4 Rivières (74)</small
  86. >
  87. </div>
  88. </v-card>
  89. </v-col>
  90. <v-col cols="6">
  91. <v-card class="review-card right mx-auto">
  92. <v-card-title>
  93. <span class="review-name">Philippe BORY</span>
  94. </v-card-title>
  95. <v-card-text>
  96. <p class="description-review">
  97. Opentalent est une entreprise avec de vraies valeurs humaines,
  98. à l'écoute de chaque structure et qui ne cesse de s'améliorer
  99. pour toujours coller aux besoins de ses clients. Plus qu'une
  100. relation commerciale, c'est pour nous un véritable partenaire
  101. au quotidien.
  102. </p>
  103. </v-card-text>
  104. <div class="card-footer">
  105. <small class="status">Personnel administratif</small>
  106. <small class="structure">
  107. École d'Arts de Saint-Michel-sur-Orge (91)</small
  108. >
  109. </div>
  110. </v-card>
  111. </v-col>
  112. </div>
  113. </v-row>
  114. <div class="content-review">
  115. <CommonCarouselTrustCompanie
  116. :items="items"
  117. :title-color="'#fff'"
  118. :carousel-border-color="'#fff'"
  119. :carousel-button-color="'#fff'"
  120. :icon-color="'#fff'"
  121. />
  122. </div>
  123. </div>
  124. <div v-if="smAndDown">
  125. <v-row>
  126. <v-col cols="12">
  127. <Carousel :itemsToShow="1" :wrapAround="true" ref="reviewCaroussel">
  128. <Slide v-for="(card, index) in cards" :key="index">
  129. <div class="card-sm">
  130. <v-card>
  131. <v-card-title>
  132. <span class="review-name">{{ card.name }}</span>
  133. </v-card-title>
  134. <v-card-text>
  135. <p class="description-review">
  136. {{ card.review }}
  137. </p>
  138. </v-card-text>
  139. <div class="card-footer">
  140. <small>{{ card.status }}</small>
  141. <small>{{ card.structure }}</small>
  142. </div>
  143. </v-card>
  144. </div>
  145. </Slide>
  146. </Carousel>
  147. </v-col>
  148. </v-row>
  149. <v-row class="justify-center align-center">
  150. <v-col class="d-flex justify-space-around align-center">
  151. <i
  152. style="cursor: pointer"
  153. class="fa-solid fa-arrow-left-long"
  154. @click="goPrevious"
  155. />
  156. <div class="custom-controls">
  157. <div
  158. v-for="(item, index) in cards"
  159. :key="index"
  160. :class="{ 'active-control': index === state.activeIndex }"
  161. class="ml-6"
  162. />
  163. </div>
  164. <i
  165. style="cursor: pointer"
  166. class="fa-solid fa-arrow-right-long"
  167. @click="goNext"
  168. />
  169. </v-col>
  170. </v-row>
  171. </div>
  172. </LayoutContainer>
  173. </template>
  174. <script setup>
  175. import { ref } from "vue";
  176. import { Carousel, Slide } from "vue3-carousel";
  177. import "vue3-carousel/dist/carousel.css";
  178. import { useDisplay } from "vuetify";
  179. const { smAndDown } = useDisplay();
  180. const reviewCaroussel = ref(null);
  181. const state = ref({
  182. activeIndex: 0,
  183. });
  184. const goNext = () => {
  185. if (reviewCaroussel.value) {
  186. reviewCaroussel.value.next();
  187. state.value.activeIndex = (state.value.activeIndex + 1) % cards.length;
  188. }
  189. };
  190. const goPrevious = () => {
  191. if (reviewCaroussel.value) {
  192. reviewCaroussel.value.prev();
  193. state.value.activeIndex =
  194. state.value.activeIndex - 1 < 0
  195. ? cards.length - 1
  196. : state.value.activeIndex - 1;
  197. }
  198. };
  199. const cards = [
  200. {
  201. name: "Patrice CATHELIN",
  202. review:
  203. "C'est un logiciel très bien conçu et efficace avec une équipe ouverte, dynamique et à l'écoute. L’assistance est très réactive, j'ai toujours eu une réponse rapide à mes besoins, ce qui est fort appréciable.",
  204. status: "Directeur administratif & pédagogique",
  205. structure: "Conservatoire de Musique & de Danse de Sens (78)",
  206. },
  207. {
  208. name: "Karine GIRAUD",
  209. review:
  210. "Étant présente depuis presque le début, je suis fière d'avoir vu grandir ce logiciel et d'avoir évoluée avec lui. De plus, je me suis sentie écoutée lors de mes propositions d'amélioration, car beaucoup ont vu le jour. Enfin, l'accompagnement et la réactivité n'ont jamais faibli depuis toutes ces années",
  211. status: "Secrétaire administrative",
  212. structure: "Association Musicale Sainte Cécile de Lagord (17)",
  213. },
  214. {
  215. name: "Laurent BEL",
  216. review:
  217. "Logiciel très complet qui permet de faire beaucoup de choses. J’apprécie particulièrement la réactivité, la bienveillance et le fait que l’équipe soit à l'écoute pour faire évoluer l'outil en fonction de nos besoins. Si besoin, la FAQ est vraiment utile. Elle permet de trouver rapidement une solution face à un problème rencontré.",
  218. status: "Directeur administratif & pédagogique",
  219. structure: "École de Musique EPIC Musique en 4 Rivières (74)",
  220. },
  221. {
  222. name: "Philippe BORY",
  223. review:
  224. "Opentalent est une entreprise avec de vraies valeurs humaines, à l'écoute de chaque structure et qui ne cesse de s'améliorer pour toujours coller aux besoins de ses clients. Plus qu'une relation commerciale, c'est pour nous un véritable partenaire au quotidien.",
  225. status: "Personnel administratif",
  226. structure: "École d'Arts de Saint-Michel-sur-Orge (91)",
  227. },
  228. ];
  229. const items = ref([
  230. { src: "/images/reviews/school/review1.svg" },
  231. { src: "/images/reviews/school/review2.png" },
  232. { src: "/images/reviews/school/review3.png" },
  233. { src: "/images/reviews/school/review4.jpeg" },
  234. { src: "/images/reviews/school/review5.jpeg" },
  235. { src: "/images/reviews/school/review6.jpeg" },
  236. ]);
  237. </script>
  238. <style scoped>
  239. .custom-controls div {
  240. width: 0.6rem;
  241. height: 0.6rem;
  242. border-radius: 50%;
  243. background-color: grey;
  244. cursor: pointer;
  245. margin-bottom: 0.5rem;
  246. }
  247. .custom-controls {
  248. display: flex;
  249. flex-direction: row;
  250. justify-content: center;
  251. align-items: center;
  252. }
  253. .custom-controls .active-control {
  254. background-color: black;
  255. margin-right: 10px;
  256. }
  257. .card-sm {
  258. width: 300px;
  259. height: 800px;
  260. display: flex;
  261. justify-content: center;
  262. align-items: center;
  263. }
  264. .v-container {
  265. padding: 0 !important;
  266. }
  267. .content-review {
  268. margin-top: -7rem;
  269. }
  270. .card-footer {
  271. display: flex;
  272. flex-direction: column;
  273. margin-top: 1rem;
  274. }
  275. .col-review {
  276. display: flex;
  277. justify-content: center;
  278. align-items: center;
  279. }
  280. .left {
  281. bottom: 12rem;
  282. position: relative;
  283. }
  284. .right {
  285. position: relative;
  286. bottom: 7rem;
  287. }
  288. .icon-title {
  289. margin-top: 1rem;
  290. color: #64afb7;
  291. }
  292. .container-green {
  293. background-color: #0e2d32;
  294. height: 60rem;
  295. }
  296. .status {
  297. position: absolute;
  298. bottom: 0;
  299. right: 0;
  300. margin-top: 1rem;
  301. font-weight: 600;
  302. font-size: 0.7rem;
  303. line-height: 15px;
  304. width: 90%;
  305. display: flex;
  306. align-items: center;
  307. letter-spacing: 0.18em;
  308. text-transform: uppercase;
  309. margin-bottom: 2rem;
  310. color: #071b1f;
  311. }
  312. .structure {
  313. position: absolute;
  314. bottom: 0;
  315. right: 0;
  316. font-weight: 600;
  317. font-size: 0.8rem;
  318. width: 90%;
  319. display: flex;
  320. align-items: center;
  321. color: #071b1f;
  322. margin-bottom: 1rem;
  323. }
  324. .description-review {
  325. text-align: justify !important;
  326. height: 10rem;
  327. font-size: 1rem;
  328. line-height: 1.5rem;
  329. color: #071b1f;
  330. margin-left: 1rem;
  331. margin-right: 1rem;
  332. margin-bottom: 1rem;
  333. line-height: 20px;
  334. }
  335. .container-color {
  336. background: #f8f8f8;
  337. height: 22rem;
  338. }
  339. .container-color-md {
  340. }
  341. .review-card {
  342. padding-top: 1rem;
  343. width: 21rem;
  344. min-height: 21rem;
  345. max-height: 21rem;
  346. margin-bottom: 0.9rem;
  347. }
  348. .review-name {
  349. margin-left: 1rem;
  350. font-weight: 500;
  351. font-family: "Barlow";
  352. font-style: normal;
  353. font-size: 1.4rem;
  354. color: #9edbdd;
  355. }
  356. .small-title {
  357. font-size: 1rem;
  358. line-height: 1rem;
  359. margin-top: 1rem;
  360. text-align: center;
  361. letter-spacing: 2.16px;
  362. text-transform: uppercase;
  363. margin-bottom: 0.5rem;
  364. }
  365. .title-review {
  366. font-size: 2rem;
  367. line-height: 42px;
  368. text-align: center;
  369. color: #071b1f;
  370. }
  371. </style>