Reviews.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. <template>
  2. <div id="témoignages">
  3. <LayoutContainer>
  4. <div class="container-green">
  5. <v-row>
  6. <v-col cols="4">
  7. <h3 class="reviews-title">
  8. Ce sont eux qui en parle le mieux
  9. </h3>
  10. <div class="d-flex justify-center align-center">
  11. <div
  12. class="carousel-button"
  13. @click="goPrevious"
  14. >
  15. <i class="fas fa-chevron-left" />
  16. </div>
  17. <div
  18. class="carousel-button"
  19. @click="goNext"
  20. >
  21. <i class="fas fa-chevron-right" />
  22. </div>
  23. </div>
  24. </v-col>
  25. <v-col cols="8">
  26. <Carousel
  27. ref="carousel"
  28. :items-to-show="3"
  29. :items-to-scroll="1"
  30. >
  31. <Slide
  32. v-for="(card, index) in cards"
  33. :key="index"
  34. class="card"
  35. >
  36. <div class="card-container">
  37. <v-card>
  38. <v-card-item>
  39. <v-card-text class="review-description">
  40. {{ card.description }}
  41. </v-card-text>
  42. <div class="card-footer">
  43. <v-card-actions class="reviewer-name">
  44. {{ card.name }}
  45. </v-card-actions>
  46. <p class="reviewer-status">
  47. {{ card.status }}
  48. </p>
  49. <p class="reviewer-structure">
  50. {{ card.structure }}
  51. </p>
  52. </div>
  53. </v-card-item>
  54. </v-card>
  55. </div>
  56. </Slide>
  57. </Carousel>
  58. </v-col>
  59. </v-row>
  60. </div>
  61. </LayoutContainer>
  62. </div>
  63. </template>
  64. <script setup>
  65. import { ref } from "vue";
  66. import { Carousel, Slide } from "vue3-carousel";
  67. import "vue3-carousel/dist/carousel.css";
  68. const carousel = ref(null);
  69. const goPrevious = () => {
  70. carousel.value.prev();
  71. };
  72. const goNext = () => {
  73. carousel.value.next();
  74. };
  75. const cards = [
  76. {
  77. description:
  78. "Lorem ipsum dolor sit amet consectetur adipisicing elit.Provident porro fuga incidunt quae, doloremque tenetur aliquam exercitationem deleniti aspernatur illo rem deserunt sapiente empore dolorem ipsa aliquid vel nihil eius.",
  79. name: "Laurent Lebon",
  80. status: "Chef d'orchestre",
  81. structure: "Conservatoire de Lyon",
  82. },
  83. {
  84. description:
  85. "Lorem ipsum dolor sit amet consectetur adipisicing elit.Provident porro fuga incidunt quae, doloremque tenetur aliquam exercitationem deleniti aspernatur illo rem deserunt sapiente empore dolorem ipsa aliquid vel nihil eius.",
  86. name: "Laurent Lebon",
  87. status: "Chef d'orchestre",
  88. structure: "Conservatoire de Lyon",
  89. },
  90. {
  91. description:
  92. "Lorem ipsum dolor sit amet consectetur adipisicing elit.Provident porro fuga incidunt quae, doloremque tenetur aliquam exercitationem deleniti aspernatur illo rem deserunt sapiente empore dolorem ipsa aliquid vel nihil eius.",
  93. name: "Laurent Lebon",
  94. status: "Chef d'orchestre",
  95. structure: "Conservatoire de Lyon",
  96. },
  97. {
  98. description:
  99. "Lorem ipsum dolor sit amet consectetur adipisicing elit.Provident porro fuga incidunt quae, doloremque tenetur aliquam exercitationem deleniti aspernatur illo rem deserunt sapiente empore dolorem ipsa aliquid vel nihil eius.",
  100. name: "Laurent Lebon",
  101. status: "Chef d'orchestre",
  102. structure: "Conservatoire de Lyon",
  103. },
  104. {
  105. description:
  106. "Lorem ipsum dolor sit amet consectetur adipisicing elit.Provident porro fuga incidunt quae, doloremque tenetur aliquam exercitationem deleniti aspernatur illo rem deserunt sapiente empore dolorem ipsa aliquid vel nihil eius.",
  107. name: "Laurent Lebon",
  108. status: "Chef d'orchestre",
  109. structure: "Conservatoire de Lyon",
  110. },
  111. ];
  112. </script>
  113. <style scoped>
  114. .carousel-button {
  115. display: flex;
  116. justify-content: center;
  117. align-items: center;
  118. width: 40px;
  119. height: 40px;
  120. background-color: transparent;
  121. border: 2px solid #fff;
  122. cursor: pointer;
  123. margin-right: 1rem;
  124. margin-top: 4rem;
  125. }
  126. .carousel-button i {
  127. color: #fff;
  128. }
  129. .reviewer-name {
  130. font-family: "Barlow";
  131. font-style: normal;
  132. font-weight: 500;
  133. font-size: 20px;
  134. line-height: 24px;
  135. color: #e34461;
  136. }
  137. .reviewer-status {
  138. font-family: "Barlow";
  139. font-family: "Barlow";
  140. font-style: normal;
  141. font-weight: 600;
  142. font-size: 12px;
  143. line-height: 16px;
  144. display: flex;
  145. align-items: center;
  146. letter-spacing: 0.18em;
  147. text-transform: uppercase;
  148. }
  149. .reviewer-structure {
  150. font-family: "Barlow";
  151. font-style: normal;
  152. font-weight: 300;
  153. font-size: 0.8rem;
  154. line-height: 14px;
  155. display: flex;
  156. align-items: center;
  157. margin-bottom: 1rem;
  158. color: #071b1f;
  159. }
  160. .review-description {
  161. text-align: left;
  162. }
  163. .card-footer {
  164. display: flex;
  165. flex-direction: column;
  166. align-items: flex-start;
  167. margin-left: 5.5rem;
  168. margin-top: 3rem;
  169. }
  170. .card-text {
  171. font-family: "Barlow";
  172. font-style: normal;
  173. font-weight: 300;
  174. font-size: 1rem;
  175. line-height: 1rem;
  176. margin-left: 1.5rem;
  177. margin-right: 1.5rem;
  178. height: 12rem;
  179. }
  180. .reviews-title {
  181. font-size: 2rem;
  182. font-weight: 700;
  183. color: #fff;
  184. font-family: "Barlow";
  185. font-style: normal;
  186. font-weight: 600;
  187. font-size: 42px;
  188. line-height: 42px;
  189. margin-left: 3rem;
  190. margin-right: 3rem;
  191. margin-top: 5rem;
  192. text-align: center;
  193. }
  194. .card {
  195. width: 80rem;
  196. margin-left: 0.5rem;
  197. border-radius: 1rem;
  198. }
  199. .card-container {
  200. display: flex;
  201. justify-content: center;
  202. align-items: center;
  203. margin-top: 5rem;
  204. margin-bottom: 3rem;
  205. margin-right: 2rem;
  206. }
  207. .container-green {
  208. background-color: #0e2d32;
  209. }
  210. </style>