You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
428 lines
11 KiB
428 lines
11 KiB
<template>
|
|
<v-row class="mb-6">
|
|
<v-col cols="12">
|
|
<div style="font-size: 1.5em">
|
|
<samp style="color: #ee9546">{{ exhibition.rating }}</samp>
|
|
<span class="mdi mdi-star" style="color: #ee9546"></span>
|
|
<samp style="color: #9c9c9c"
|
|
>({{ exhibition.reviewCount }} reviews)</samp
|
|
>
|
|
</div>
|
|
<div
|
|
style="
|
|
background: rgba(248, 248, 248, 0.4);
|
|
border-radius: 15px;
|
|
padding: 15px;
|
|
font-size: 1.2em;
|
|
position: relative;
|
|
"
|
|
>
|
|
<div
|
|
style="
|
|
position: absolute;
|
|
border-radius: 15px;
|
|
width: 100%;
|
|
height: 100%;
|
|
top: 0px;
|
|
left: 0px;
|
|
background: rgba(248, 248, 248, 0.69);
|
|
"
|
|
></div>
|
|
<div class="reviewLogin">
|
|
<v-btn
|
|
color="warning"
|
|
class="
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-2
|
|
mt-2
|
|
"
|
|
>
|
|
Log in / Sign up
|
|
</v-btn>
|
|
</div>
|
|
|
|
<div>
|
|
<div>Write a review</div>
|
|
<p></p>
|
|
<div>
|
|
<v-rating dense half-increments readonly size="24"></v-rating>
|
|
</div>
|
|
<div>
|
|
<v-radio-group>
|
|
<v-radio label="Visitor" value="radio-1"> </v-radio>
|
|
<v-radio label="Exhibitor" value="radio-1"> </v-radio>
|
|
</v-radio-group>
|
|
</div>
|
|
<div>
|
|
<v-btn
|
|
outlined
|
|
class="
|
|
warning--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-4
|
|
mt-2
|
|
"
|
|
>
|
|
Variety of Products
|
|
</v-btn>
|
|
<v-btn
|
|
outlined
|
|
class="
|
|
warning--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-4
|
|
mt-2
|
|
"
|
|
>
|
|
Great Network Opportunity
|
|
</v-btn>
|
|
<v-btn
|
|
outlined
|
|
class="
|
|
warning--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-4
|
|
mt-2
|
|
"
|
|
>
|
|
Good Quality of Participants
|
|
</v-btn>
|
|
</div>
|
|
<p></p>
|
|
<div style="background: #f8f8f8; border-radius: 15px">
|
|
<div style="color: #9c9c9c; padding: 15px; height: 124px">
|
|
Tell us what do you think ...
|
|
</div>
|
|
</div>
|
|
<div class="addReviewsBtn">
|
|
<div class="addReviewsLeftBtn">
|
|
<v-btn
|
|
style="border-style: solid; border-color: #7997ff"
|
|
class="
|
|
primary--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-2
|
|
mt-2
|
|
"
|
|
>
|
|
<v-icon>mdi-plus</v-icon>
|
|
Add Photo
|
|
</v-btn>
|
|
</div>
|
|
<div class="addReviewsRightBtn">
|
|
<v-btn
|
|
class="
|
|
warning--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-2
|
|
mt-2
|
|
"
|
|
>
|
|
Clear
|
|
</v-btn>
|
|
<v-btn
|
|
color="warning"
|
|
class="
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
ml-2
|
|
mt-2
|
|
"
|
|
>
|
|
Post
|
|
</v-btn>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="reviewsSelect">
|
|
<div class="reviewsFilterSelect">
|
|
<div>Filter</div>
|
|
<div>
|
|
<v-select
|
|
v-model="filterName"
|
|
style="width: 170px"
|
|
:items="filter"
|
|
dense
|
|
outlined
|
|
></v-select>
|
|
</div>
|
|
</div>
|
|
<div class="reviewsSortbySelect">
|
|
<div>Sort by</div>
|
|
<div>
|
|
<v-select
|
|
v-model="sortByName"
|
|
style="width: 260px"
|
|
:items="sortBy"
|
|
dense
|
|
outlined
|
|
></v-select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--div v-if="Array.isArray(exhibition.reviews.users)" v-for="item in exhibition.reviews.users" :key="item.id">
|
|
<div class="usersReviewsArea">
|
|
<div class="usersPeoplePic">
|
|
<div class="usersPeoplePhoto">
|
|
<v-avatar size="100">
|
|
<v-img :src="item.user.avatar"></v-img>
|
|
</v-avatar>
|
|
</div>
|
|
<p></p>
|
|
<div class="reviewsUsersName">
|
|
<div></div>
|
|
<div style="font-size: 1.5em">
|
|
<b>{{ item.user.name }}</b>
|
|
</div>
|
|
<div></div>
|
|
</div>
|
|
<div style="color: #9c9c9c" class="usersHeadline">
|
|
<div></div>
|
|
<div style="font-size: 1.5em">{{ item.user.headline }}</div>
|
|
<div></div>
|
|
</div>
|
|
</div>
|
|
<div class="usersReviewsDetail">
|
|
<div class="usersReviewsStarTitleArea">
|
|
<div class="usersReviewsStar">
|
|
<v-rating
|
|
:value="item.rating"
|
|
color="amber"
|
|
dense
|
|
:length="starLength"
|
|
half-increments
|
|
readonly
|
|
size="15"
|
|
></v-rating>
|
|
</div>
|
|
<div class="usersReviewsTitle">
|
|
<b>{{ getstarLength(item.title) }}</b>
|
|
</div>
|
|
</div>
|
|
<div class="col-md-12 col-md-offset-3 usersReviewsBtn">
|
|
<v-btn
|
|
v-for="array in item.tags"
|
|
:key="array.id"
|
|
outlined
|
|
class="
|
|
warning--text
|
|
recommend-tag
|
|
no-text-transform
|
|
text-space-1
|
|
rounded-lg
|
|
mt-2
|
|
"
|
|
>
|
|
{{ array.name }}
|
|
</v-btn>
|
|
</div>
|
|
<div>
|
|
<v-col>{{ item.comment }}</v-col>
|
|
</div>
|
|
<div>
|
|
<v-col>
|
|
<v-img
|
|
v-for="array in item.images"
|
|
:key="array.images"
|
|
:src="array"
|
|
width="90px"
|
|
height="90px"
|
|
style="display: inline-block; margin-left: 10px"
|
|
></v-img>
|
|
</v-col>
|
|
</div>
|
|
<div style="color: #9c9c9c">
|
|
<v-col>
|
|
{{ item.date }}
|
|
</v-col>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div-->
|
|
</v-col>
|
|
</v-row>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
name: "ExhibitionReviews",
|
|
props: {
|
|
exhibition: {
|
|
type: Object,
|
|
default: () => ({
|
|
rating: "",
|
|
reviewCount: "",
|
|
reviews: {},
|
|
}),
|
|
},
|
|
},
|
|
data() {
|
|
return {
|
|
filterName: "For Everyone",
|
|
filter: ["For Everyone", "For Exhibitor", "For Visitor"],
|
|
sortByName: "Date:Newest to Oldest",
|
|
sortBy: [
|
|
"With Photo",
|
|
"Date:Newest to Oldest",
|
|
"Rating(High to Low)",
|
|
"Rating(Low to High)",
|
|
],
|
|
starLength: 0,
|
|
};
|
|
},
|
|
methods: {
|
|
getstarLength: function (title) {
|
|
switch (title) {
|
|
case "Highly recommended":
|
|
this.starLength = 5;
|
|
break;
|
|
case "Worth going":
|
|
this.starLength = 4;
|
|
break;
|
|
case "Good":
|
|
this.starLength = 3;
|
|
break;
|
|
default:
|
|
this.starLength = 0;
|
|
break;
|
|
}
|
|
return title;
|
|
},
|
|
dateFormat: function (date) {
|
|
return date.replaceAll("-", "/");
|
|
},
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style>
|
|
.reviewLogin {
|
|
position: absolute;
|
|
top: 40%;
|
|
left: 40%;
|
|
}
|
|
.addReviewsLeftBtn {
|
|
grid-area: addReviewsLeftBtn;
|
|
text-align: left;
|
|
}
|
|
.addReviewsRightBtn {
|
|
grid-area: addReviewsRightBtn;
|
|
text-align: right;
|
|
}
|
|
.addReviewsBtn {
|
|
display: grid;
|
|
grid-template-areas: "addReviewsLeftBtn addReviewsRightBtn";
|
|
}
|
|
.reviewsFilterSelect {
|
|
grid-area: reviewsFilterSelect;
|
|
}
|
|
.reviewsSortbySelect {
|
|
grid-area: reviewsSortbySelect;
|
|
}
|
|
.reviewsSelect {
|
|
display: grid;
|
|
grid-template-columns: 1fr auto;
|
|
grid-template-areas: "reviewsFilterSelect reviewsSortbySelect";
|
|
}
|
|
|
|
.usersPeoplePic {
|
|
grid-area: usersPeoplePic;
|
|
text-align: center;
|
|
}
|
|
.usersReviewsDetail {
|
|
grid-area: usersReviewsDetail;
|
|
background: #f8f8f8;
|
|
border-radius: 15px;
|
|
padding: 15px;
|
|
margin-left: 50px;
|
|
}
|
|
.usersReviewsArea {
|
|
display: grid;
|
|
grid-template-columns: 1fr 5fr;
|
|
grid-template-areas: "usersPeoplePic usersReviewsDetail";
|
|
}
|
|
.usersReviewsStar {
|
|
grid-area: usersReviewsStar;
|
|
margin-left: 10px;
|
|
}
|
|
.usersReviewsTitle {
|
|
grid-area: usersReviewsTitle;
|
|
}
|
|
.usersReviewsStarTitleArea {
|
|
display: grid;
|
|
grid-template-columns: auto 1fr;
|
|
grid-template-areas: "usersReviewsStar usersReviewsTitle";
|
|
}
|
|
@media only screen and (min-width: 0px) and (max-width: 899px) {
|
|
.usersPeoplePhoto {
|
|
grid-area: usersPeoplePhoto;
|
|
}
|
|
.reviewsUsersName {
|
|
grid-area: reviewsUsersName;
|
|
vertical-align: middle;
|
|
margin-left: 30px;
|
|
display: grid;
|
|
grid-template-rows: repeat(3);
|
|
}
|
|
.usersHeadline {
|
|
grid-area: usersHeadline;
|
|
vertical-align: middle;
|
|
margin-left: 20px;
|
|
display: grid;
|
|
grid-template-rows: repeat(3);
|
|
}
|
|
.usersReviewsBtn {
|
|
display: none;
|
|
}
|
|
.usersPeoplePic {
|
|
grid-area: usersPeoplePic;
|
|
text-align: left;
|
|
padding: 50px;
|
|
margin-left: 10px;
|
|
display: grid;
|
|
grid-template-columns: auto auto 1fr;
|
|
grid-template-areas: "usersPeoplePhoto reviewsUsersName usersHeadline";
|
|
}
|
|
.usersReviewsDetail {
|
|
grid-area: usersReviewsDetail;
|
|
background: #f8f8f8;
|
|
border-radius: 15px;
|
|
padding: 5px;
|
|
}
|
|
.usersReviewsArea {
|
|
display: grid;
|
|
grid-template-areas:
|
|
"usersPeoplePic usersPeoplePic"
|
|
"usersReviewsDetail usersReviewsDetail";
|
|
}
|
|
.usersReviewsStar {
|
|
grid-area: usersReviewsStar;
|
|
font-size: 1.5em;
|
|
}
|
|
.usersReviewsTitle {
|
|
grid-area: usersReviewsTitle;
|
|
font-size: 1.5em;
|
|
}
|
|
}
|
|
</style>
|