Skip to content

Commit c998004

Browse files
committed
heat score slider
1 parent b807f81 commit c998004

File tree

1 file changed

+30
-11
lines changed

1 file changed

+30
-11
lines changed

frontend/src/components/app/users/UserProfile.vue

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<h1 class="text-gray-matcha text-3xl font-semibold mb-6">{{user.first_name}}, {{user.age}}</h1>
66
<div v-if="!user.is_online" class="flex items-center mt-2 text-left">
77
<img class="w-3 h-3 mr-2" src="../../../assets/recommendations/offline.png">
8-
<h1 class="text-gray-600">Last seen {{formattedLastSeenDate}}</h1>
8+
<h1 class="text-gray-600">Last seen {{user.last_seen}}</h1>
99
</div>
1010
<div v-else class="flex items-center mt-2 text-left">
1111
<img class="w-3 h-3 mr-2" src="../../../assets/recommendations/online.png">
@@ -27,7 +27,15 @@
2727
class="px-4 py-1 border rounded-xl mr-2 mt-2 text-gray-600 text-sm">{{interest}}</h1>
2828
</div>
2929
</div>
30-
<div class="text-center flex mx-auto p-8 border-b">
30+
<div class="text-center px-8 pt-8 pb-2">
31+
<h1 id="sliderScoreHeader">Heat score</h1>
32+
</div>
33+
<div id="sliderScoreContainer" class="text-center w-full heatScore relative h-6">
34+
<div id="sliderScore" class="absolute top-0 flex items-center justify-center h-12 w-auto rounded-b-lg">
35+
<h1 class="text-white-matcha px-2">{{user.heat_score}}</h1>
36+
</div>
37+
</div>
38+
<div class="text-center flex mx-auto p-8 mt-4 border-b">
3139
<div class="w-full border border-purple-matcha py-2 rounded-lg cursor-pointer">
3240
<img src="../../../assets/heart.png" class="mx-auto w-8 h-8">
3341
</div>
@@ -70,15 +78,13 @@ export default {
7078
return 'any gender';
7179
},
7280
},
73-
computed: {
74-
formattedLastSeenDate() {
75-
if (this.user.date_lastseen) {
76-
return this.user.date_lastseen.slice(0, -7);
77-
}
78-
return undefined;
79-
},
80-
},
81-
beforeMount() {
81+
async beforeMount() {
82+
const sliderRangesRequest = await this.$http.get('/search/values');
83+
const maxScore = sliderRangesRequest.data.search_minmax.max_score;
84+
const sliderScore = document.getElementById('sliderScore');
85+
const sliderScoreWidth = `${sliderScore.getBoundingClientRect().width}px`;
86+
const marginLeft = `${(this.user.heat_score / maxScore) * 100}%`;
87+
sliderScore.style.marginLeft = `calc(${marginLeft} - ${sliderScoreWidth})`;
8288
const interests = this.user.tags;
8389
if (interests) {
8490
for (let j = 0; j < interests.length; j += 1) {
@@ -95,4 +101,17 @@ export default {
95101
height: 75vh;
96102
}
97103
}
104+
105+
.heatScore {
106+
background-image: linear-gradient(to right, #fae6ff, #cc00ff);
107+
}
108+
109+
#sliderScore {
110+
background: #660066;
111+
}
112+
113+
#sliderScoreHeader {
114+
color: #660066;
115+
}
116+
98117
</style>

0 commit comments

Comments
 (0)