Reviews.vue 5.4 KB

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