FAQ.vue 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <!--
  2. Foire aux questions
  3. -->
  4. <template>
  5. <LayoutContainer>
  6. <v-row class="center-90">
  7. <LayoutUISubTitle>
  8. Des questions ?
  9. </LayoutUISubTitle>
  10. </v-row>
  11. <LayoutUITitlePage>
  12. Tout savoir sur nos webinaire en ligne
  13. <template #subtitle>Les questions les plus fréquentes</template>
  14. </LayoutUITitlePage>
  15. <div class="faq">
  16. <div
  17. v-for="(item, index) in faqItems"
  18. :key="index"
  19. class="faq-item"
  20. >
  21. <div
  22. class="question"
  23. @click="toggle(index)"
  24. >
  25. <v-icon icon="fas fa-circle" />
  26. {{ item.question }}
  27. </div>
  28. <div
  29. v-if="isOpen(index)"
  30. class="answer"
  31. >
  32. {{ item.answer }}
  33. </div>
  34. </div>
  35. </div>
  36. </LayoutContainer>
  37. </template>
  38. <script setup lang="ts">
  39. import { FaqEntry } from "~/types/interface";
  40. const faqItems: Array<FaqEntry> = [
  41. {
  42. question: 'Comment s’inscrire à un webinaire?',
  43. answer: 'Pour vous inscrire à un webinaire, suivez le lien "Inscrivez-vous" correspondant au cours qui vous intéresse.',
  44. },
  45. {
  46. question: 'Combien de temps dure nos webinaires ?',
  47. answer: 'Nos webinaires durent en moyenne 1H30. Les sessions de questions/réponses peuvent parfois prolonger la durée prévue de nos webinaires.',
  48. },
  49. {
  50. question: 'Comment se passe un webinaire ?',
  51. answer: 'Inscrivez-vous à l\'un de nos webinaires en choisissant une date sur l\'agenda et renseignez vos informations. ' +
  52. 'Vous recevrez à la suite de votre inscription sur notre site, un email de confirmation avec un rappel de la date et de l\'horaire de participation ainsi que l\'URL de connexion pour le webinaire. ' +
  53. 'Un mail de relance à J-1 vous sera envoyer vous rappelant votre participation au webinaire. ' +
  54. 'Le jour J, cliquez sur l\'URL de connexion. Nous vous encourageons à arriver quelques minutes en avance pour vous assurer de pouvoir accéder au webinaire sans aucun problème technique. ' +
  55. 'Lors du début du webinaire, toutes les instructions nécessaires vous seront fournies.'
  56. },
  57. {
  58. question: 'De quel matériel aurais-je besoin pour suivre le webinaire ?',
  59. answer: 'Pour plus de confort, il est recommandé d\'être équipé d\'un outil (de préférence un ordinateur) disposant d\'un micro et de haut-parleur.',
  60. },
  61. {
  62. question: 'Y-a-t\'il une limite de participants ?',
  63. answer: 'Il n\'y a pas de limite de participants lors de nos webinaires. Cependant, nous nous réservons le droit d\'annuler une session si le nombre de participants est inférieur à 3 personnes.',
  64. },
  65. {
  66. question: 'J\'ai besoin d\'aide...',
  67. answer: 'Notre équipe est là pour vous. <button style="background-color: #0E2D32; color: #fff; border: none;border-radius: 4px;padding: 0.5rem 1rem;cursor: pointer;" class="contact-btn" onclick="window.location.href=\'/nous-contacter\'">Contactez-nous</button>'
  68. }];
  69. const activeIndex: Ref<number | null> = ref(null);
  70. function toggle(index: number) {
  71. activeIndex.value = activeIndex.value === index ? null : index;
  72. }
  73. function isOpen(index: number) {
  74. return activeIndex.value === index;
  75. }
  76. </script>
  77. <style scoped lang="scss">
  78. .faq {
  79. padding: 1rem;
  80. width: 90%;
  81. margin-left: auto;
  82. margin-right: auto;
  83. }
  84. .faq-item {
  85. margin-bottom: 0.5rem;
  86. border-radius: 4px;
  87. }
  88. .question {
  89. background-color: #0E2D32;
  90. color: #fff;
  91. padding: 0.75rem 1rem;
  92. cursor: pointer;
  93. border-radius: 4px;
  94. display: flex;
  95. align-items: center;
  96. :hover {
  97. background-color: #555;
  98. }
  99. .v-icon {
  100. font-size: 10px !important;
  101. color: rgba(161, 225, 249, 0.6);
  102. margin-right: 0.5rem;
  103. }
  104. }
  105. .answer {
  106. background-color: #C3E5E7;
  107. padding: 0.5rem 1rem;
  108. border: 1px solid #ccc;
  109. border-top: none;
  110. border-radius: 0 0 4px 4px;
  111. }
  112. </style>