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" >
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