|
|
@@ -1,15 +1,47 @@
|
|
|
<template>
|
|
|
- <LayoutContainer :overflow="false">
|
|
|
- <div class="container-color">
|
|
|
+ <LayoutContainer :overflow="false">
|
|
|
+ <div :class="smAndDown ? '' : 'container-color'">
|
|
|
<div class="d-flex justify-center align-center flex-column">
|
|
|
<v-icon size="8" class="fa-solid fa-circle icon-title"></v-icon>
|
|
|
<h6 class="small-title">Avis Clients</h6>
|
|
|
</div>
|
|
|
|
|
|
<h1 class="title-review">C'est vous qui le dites</h1>
|
|
|
+ <div v-if="smAndDown">
|
|
|
+ <Carousel
|
|
|
+ :itemsToShow="2"
|
|
|
+ :itemsToScroll="1"
|
|
|
+ ref="carousel"
|
|
|
+ >
|
|
|
+ <Slide v-for="(review, index) in reviews" :key="index">
|
|
|
+ <v-col cols="12">
|
|
|
+ <v-card class="review-card-sm ">
|
|
|
+ <v-avatar size="80" class="profile-img">
|
|
|
+ <v-img :src="review.avatar"></v-img>
|
|
|
+ </v-avatar>
|
|
|
+ <v-card-title>
|
|
|
+ <span class="review-name">{{ review.name}}</span>
|
|
|
+ </v-card-title>
|
|
|
+
|
|
|
+ <v-card-text>
|
|
|
+ <p class="description-review">
|
|
|
+ {{ review.description }}
|
|
|
+ </p>
|
|
|
+ </v-card-text>
|
|
|
+ <small class="status">{{ review.status}}</small>
|
|
|
+
|
|
|
+ <small class="structure"
|
|
|
+ >{{ review.structure}}</small
|
|
|
+ >
|
|
|
+ </v-card>
|
|
|
+ </v-col>
|
|
|
+ </Slide>
|
|
|
+ </Carousel>
|
|
|
+
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
- <div class="container-green">
|
|
|
+ <div v-if="!smAndDown" class="container-green">
|
|
|
<v-row justify="center">
|
|
|
<!-- v-card with client review -->
|
|
|
<v-col cols="12" md="6" lg="4">
|
|
|
@@ -143,10 +175,9 @@
|
|
|
</v-row>
|
|
|
|
|
|
<Carousel
|
|
|
- class="carrousel elevation-6"
|
|
|
+ class="carousel elevation-6"
|
|
|
:itemsToShow="4"
|
|
|
:itemsToScroll="2"
|
|
|
- v-slot="{ carousel: _carousel }"
|
|
|
ref="carousel"
|
|
|
>
|
|
|
<Slide v-for="(item, index) in items" :key="index">
|
|
|
@@ -156,12 +187,45 @@
|
|
|
</Slide>
|
|
|
</Carousel>
|
|
|
</div>
|
|
|
+
|
|
|
+ <div v-if="smAndDown">
|
|
|
+ <v-row class="container-green-sm mt-6" >
|
|
|
+ <v-col cols="12">
|
|
|
+ <div class="d-flex justify-center align-center flex-column">
|
|
|
+ <h2 class="title-sm text-center">
|
|
|
+ Plus de 5 000 structures nous font confiance
|
|
|
+ </h2>
|
|
|
+ <div class="d-flex justify-center align-center">
|
|
|
+ <div class="carousel-button-sm" @click="goPrevious">
|
|
|
+ <i class="fas fa-chevron-left"></i>
|
|
|
+ </div>
|
|
|
+ <div class="carousel-button-sm" @click="goNext">
|
|
|
+ <i class="fas fa-chevron-right"></i>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </v-col>
|
|
|
+ </v-row>
|
|
|
+
|
|
|
+ <Carousel
|
|
|
+ class="carousel-sm "
|
|
|
+ :itemsToShow="1"
|
|
|
+ :itemsToScroll="1"
|
|
|
+ ref="carousel"
|
|
|
+ >
|
|
|
+ <Slide v-for="(item, index) in items" :key="index">
|
|
|
+ <v-img class="card-img-sm" :src="item.src" alt="Card image cap" contain position="center center" />
|
|
|
+ </Slide>
|
|
|
+ </Carousel>
|
|
|
+ </div>
|
|
|
</LayoutContainer>
|
|
|
</template>
|
|
|
|
|
|
<script setup>
|
|
|
import { Carousel, Slide } from "vue3-carousel";
|
|
|
import "vue3-carousel/dist/carousel.css";
|
|
|
+import { useDisplay } from "vuetify";
|
|
|
+const { mdAndDown, smAndDown } = useDisplay();
|
|
|
const carousel = ref(null);
|
|
|
|
|
|
const goPrevious = () => {
|
|
|
@@ -171,6 +235,38 @@ const goPrevious = () => {
|
|
|
const goNext = () => {
|
|
|
carousel.value.next();
|
|
|
};
|
|
|
+
|
|
|
+const reviews = [
|
|
|
+ {
|
|
|
+ name : "John Doe",
|
|
|
+ status : "DIRECTEUR PÉDAGOGIQUE",
|
|
|
+ structure : "Conservatoire Musique & Danse Sens (78)",
|
|
|
+ description : "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.",
|
|
|
+ avatar : "/images/reviews/photo1.jpg"
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name : "John Doe",
|
|
|
+ status : "DIRECTEUR PÉDAGOGIQUE",
|
|
|
+ structure : "Conservatoire Musique & Danse Sens (78)",
|
|
|
+ avatar : "/images/reviews/photo1.jpg",
|
|
|
+ description : "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.",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name : "John Doe",
|
|
|
+ status : "DIRECTEUR PÉDAGOGIQUE",
|
|
|
+ structure : "Conservatoire Musique & Danse Sens (78)",
|
|
|
+ avatar : "/images/reviews/photo1.jpg",
|
|
|
+ description : "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.",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ name : "John Doe",
|
|
|
+ status : "DIRECTEUR PÉDAGOGIQUE",
|
|
|
+ structure : "Conservatoire Musique & Danse Sens (78)",
|
|
|
+ avatar : "/images/reviews/photo1.jpg",
|
|
|
+ description : "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.",
|
|
|
+ }
|
|
|
+
|
|
|
+]
|
|
|
const items = ref([
|
|
|
{ src: "/images/reviews/review1.png" },
|
|
|
{ src: "/images/reviews/review2.png" },
|
|
|
@@ -181,25 +277,39 @@ const items = ref([
|
|
|
</script>
|
|
|
|
|
|
<style scoped>
|
|
|
-.title {
|
|
|
+.title,
|
|
|
+.title-sm
|
|
|
+{
|
|
|
font-family: "Barlow";
|
|
|
font-style: normal;
|
|
|
font-size: 2rem;
|
|
|
line-height: 42px;
|
|
|
text-align: center;
|
|
|
- color: #ffffff;
|
|
|
- margin-left: 30rem;
|
|
|
- margin-right: 30rem;
|
|
|
+ color: #fff;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ width: 25rem;
|
|
|
+}
|
|
|
+
|
|
|
+.title-sm{
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 3rem;
|
|
|
}
|
|
|
.icon-title {
|
|
|
margin-top: 1rem;
|
|
|
color: #64afb7;
|
|
|
}
|
|
|
-.carousel-button i {
|
|
|
+.carousel-button i,
|
|
|
+.carousel-button-sm i
|
|
|
+{
|
|
|
color: #ffffff;
|
|
|
}
|
|
|
|
|
|
-.carousel-button {
|
|
|
+
|
|
|
+.carousel-button,
|
|
|
+.carousel-button-sm
|
|
|
+{
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
@@ -211,30 +321,52 @@ const items = ref([
|
|
|
margin-right: 1rem;
|
|
|
margin-top: 1rem;
|
|
|
}
|
|
|
+.carousel-button-sm {
|
|
|
+ width: 4rem;
|
|
|
+ height: 4rem;
|
|
|
+ margin-left: 1rem;
|
|
|
+}
|
|
|
.card-img {
|
|
|
height: 10rem;
|
|
|
width: 10rem;
|
|
|
margin-left: auto;
|
|
|
- margin-right: auto;
|
|
|
- margin-top: 2rem;
|
|
|
- margin-bottom: 2rem;
|
|
|
+ margin-right: 5rem;
|
|
|
+ display: block;
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
+.card-img-sm {
|
|
|
+ /** center the image */
|
|
|
+ height: 10rem;
|
|
|
+ width: 10rem;
|
|
|
+ margin-right: 25rem;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
.carousel {
|
|
|
background-color: white;
|
|
|
margin-top: 2rem;
|
|
|
border-radius: 20px;
|
|
|
- height: 13em;
|
|
|
width: 60rem;
|
|
|
margin-left: auto;
|
|
|
margin-right: auto;
|
|
|
box-shadow: #071b1f;
|
|
|
}
|
|
|
+.carousel-sm {
|
|
|
+ background-color: white;
|
|
|
+ margin-top: 2rem;
|
|
|
+ border-radius: 20px;
|
|
|
+ box-shadow: #071b1f;
|
|
|
+}
|
|
|
.container-green {
|
|
|
background-color: #0e2d32;
|
|
|
padding: 2rem;
|
|
|
height: 70rem;
|
|
|
}
|
|
|
-
|
|
|
+.container-green-sm {
|
|
|
+ background-color: #0e2d32;
|
|
|
+ padding: 2rem;
|
|
|
+}
|
|
|
.left {
|
|
|
left: 3rem;
|
|
|
bottom: 15rem;
|
|
|
@@ -293,12 +425,18 @@ const items = ref([
|
|
|
background: #f8f8f8;
|
|
|
height: 25rem;
|
|
|
}
|
|
|
+.container-color-sm {
|
|
|
+ background: #f8f8f8;
|
|
|
+}
|
|
|
.review-card {
|
|
|
width: 21rem;
|
|
|
height: 100%;
|
|
|
margin-bottom: 2rem;
|
|
|
}
|
|
|
-
|
|
|
+.review-card-sm {
|
|
|
+ width: 80%;
|
|
|
+ height: 100%;
|
|
|
+}
|
|
|
.review-name {
|
|
|
margin-left: 1rem;
|
|
|
font-weight: 500;
|
|
|
@@ -324,7 +462,5 @@ const items = ref([
|
|
|
line-height: 42px;
|
|
|
text-align: center;
|
|
|
color: #071b1f;
|
|
|
- margin-left: 30rem;
|
|
|
- margin-right: 30rem;
|
|
|
}
|
|
|
</style>
|