Reviews.vue 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. <template>
  2. <div id="Temoignages">
  3. <LayoutContainer>
  4. <div class="container-green">
  5. <v-row>
  6. <v-col cols="3">
  7. <div style="display: flex; flex-direction: column; justify-content: space-between; height: 100%;">
  8. <h3 class="reviews-title">Ce sont eux qui en parlent le mieux</h3>
  9. <div class="d-flex justify-center align-center">
  10. <div class="carousel-button" @click="goPrevious">
  11. <i class="fas fa-chevron-left" />
  12. </div>
  13. <div class="carousel-button" @click="goNext">
  14. <i class="fas fa-chevron-right" />
  15. </div>
  16. </div>
  17. </div>
  18. </v-col>
  19. <v-col cols="9">
  20. <Carousel ref="carousel" :items-to-show="3" :items-to-scroll="1">
  21. <Slide v-for="(card, index) in cards" :key="index" class="card">
  22. <v-card>
  23. <v-card-item class="card-container">
  24. <v-card-text class="review-description">
  25. {{ card.description }}
  26. </v-card-text>
  27. <div class="card-footer">
  28. <v-card-actions class="reviewer-name">
  29. {{ card.name }}
  30. </v-card-actions>
  31. <p class="reviewer-status">
  32. {{ card.status }}
  33. </p>
  34. <p class="reviewer-structure">
  35. {{ card.structure }}
  36. </p>
  37. </div>
  38. </v-card-item>
  39. </v-card>
  40. </Slide>
  41. </Carousel>
  42. </v-col>
  43. </v-row>
  44. </div>
  45. </LayoutContainer>
  46. </div>
  47. </template>
  48. <script setup>
  49. import { ref } from "vue";
  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. "L'outil répond à toutes les demandes d'une structure de notre taille et la connexion avec le site internet est très pratique.",
  63. name: "Patrice MONTESSUIT",
  64. status: "Directeur musical ",
  65. structure: "Orchestre d'Harmonie de Cluses (74)",
  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. "C'est un outil de travail très intéressant, complet et intuitif quand on comprend certaines subtilités. Il a très bien évolué aussi bien pour les chorales que les harmonie. Mes remarques ont toujours été prises en compte.",
  77. name: "Gérard LEFÈBVRE ",
  78. status: "Président",
  79. structure: "Le choeur du Brevon (74)",
  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. .v-container{
  99. padding: 0 !important;
  100. }
  101. .carousel-button {
  102. display: flex;
  103. justify-content: center;
  104. align-items: center;
  105. width: 60px;
  106. height: 60px;
  107. background-color: transparent;
  108. border: 2px solid #fff;
  109. cursor: pointer;
  110. margin-right: 1rem;
  111. margin-bottom: 2rem;
  112. }
  113. .carousel-button i {
  114. color: #fff;
  115. }
  116. .reviewer-name {
  117. font-weight: 500;
  118. font-size: 20px;
  119. line-height: 24px;
  120. color: #f7d241;
  121. margin-top: 5rem;
  122. }
  123. .reviewer-status {
  124. font-weight: 600;
  125. font-size: 12px;
  126. line-height: 16px;
  127. display: flex;
  128. align-items: center;
  129. letter-spacing: 0.18em;
  130. text-transform: uppercase;
  131. }
  132. .reviewer-structure {
  133. font-weight: 300;
  134. font-size: 0.8rem;
  135. line-height: 14px;
  136. display: flex;
  137. align-items: center;
  138. margin-bottom: 1rem;
  139. color: #071b1f;
  140. }
  141. .review-description {
  142. text-align: left;
  143. max-height: 200px;
  144. overflow: auto;
  145. font-size: 0.9rem;
  146. }
  147. .card-footer {
  148. display: flex;
  149. flex-direction: column;
  150. justify-content: center;
  151. align-items: center;
  152. margin-top: 1rem;
  153. }
  154. .reviews-title {
  155. font-size: 2rem;
  156. font-weight: 700;
  157. color: #fff;
  158. font-weight: 600;
  159. font-size: 42px;
  160. line-height: 42px;
  161. margin-left: 1rem;
  162. margin-right: 1rem;
  163. margin-top: 3rem;
  164. text-align: center;
  165. }
  166. .card {
  167. margin-left: 0.5rem;
  168. border-radius: 1rem;
  169. }
  170. .v-card {
  171. border-radius: 1rem;
  172. min-height: 25rem;
  173. max-height: 25rem;
  174. margin-top: 2rem;
  175. margin-bottom: 2rem;
  176. }
  177. .card-container {
  178. display: flex;
  179. flex-direction: column;
  180. justify-content: space-between;
  181. height: 100%;
  182. }
  183. .container-green {
  184. background-color: #0e2d32;
  185. }
  186. </style>