Skip to content

Commit 0b5274b

Browse files
committed
like button UI update hover, clicked
1 parent d3d3932 commit 0b5274b

File tree

10 files changed

+73
-12
lines changed

10 files changed

+73
-12
lines changed
-3.8 KB
Binary file not shown.

frontend/src/assets/heartSuper.png

-5.38 KB
Binary file not shown.
-6.97 KB
Binary file not shown.
11.7 KB
Loading

frontend/src/assets/likeHover.png

8.28 KB
Loading
8.91 KB
Loading
11.2 KB
Loading
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<template>
2+
<!-- eslint-disable max-len -->
3+
<div class="w-full">
4+
<div @mouseover="hover = true"
5+
@mouseleave="hover = false"
6+
@click="clicked = !clicked"
7+
class="w-full flex justify-center items-center bg-purple-matcha py-4 rounded-lg cursor-pointer">
8+
<img v-bind:src="getImage" class="h-8">
9+
<h1 class="text-white-matcha text-2xl ml-2 font-bold">{{getText}}</h1>
10+
</div>
11+
<h1 v-if="description" class="text-purple-matcha text-sm mt-2">{{description}}</h1>
12+
</div>
13+
</template>
14+
15+
<script>
16+
/* eslint-disable max-len */
17+
18+
export default {
19+
props: ['startImage', 'hoverImage', 'clickedImage', 'text', 'textRevert', 'description'],
20+
data: () => ({
21+
hover: false,
22+
clicked: false,
23+
}),
24+
computed: {
25+
getImage() {
26+
if (this.clicked) {
27+
return this.clickedImage;
28+
}
29+
if (this.hover) {
30+
return this.hoverImage;
31+
}
32+
return this.startImage;
33+
},
34+
getText() {
35+
if (this.clicked) {
36+
return this.textRevert;
37+
}
38+
return this.text;
39+
},
40+
},
41+
};
42+
</script>

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

Lines changed: 31 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<template>
2-
<!-- eslint-disable -->
2+
<!-- eslint-disable max-len -->
33
<div class="profileContainer">
44
<div id="sliderScoreContainer" class="text-center w-full rounded-lt-md heatScore relative h-6">
55
<div id="sliderScore" class="bg-purple-matcha absolute top-0 flex flex-col items-center justify-center h-12 w-auto rounded-b-md">
@@ -33,17 +33,22 @@
3333
</div>
3434
</div>
3535
<div class="text-center flex flex-col mx-auto p-8 border-b">
36-
<div class="w-full flex justify-center items-center bg-purple-matcha py-4 rounded-lg cursor-pointer">
37-
<img src="../../../assets/heart.png" class="h-8">
38-
<h1 class="text-white-matcha text-2xl ml-2 font-bold">Like</h1>
39-
</div>
40-
<div class="w-full flex justify-center items-center bg-purple-matcha mt-8 py-4 rounded-lg cursor-pointer">
41-
<img src="../../../assets/superLike.png" class="h-8">
42-
<h1 class="text-white-matcha text-2xl ml-2 font-bold">Super Like</h1>
43-
</div>
44-
<h1 class="text-purple-matcha text-sm mt-2">Worth 10 likes, and {{user.first_name}} sees your extra interest</h1>
36+
<LikeButton
37+
v-bind:startImage="likeImage"
38+
v-bind:hoverImage="likeImageHover"
39+
v-bind:clickedImage="likeImageClicked"
40+
v-bind:text="'Like'"
41+
v-bind:textRevert="'Unlike'"></LikeButton>
42+
<LikeButton
43+
class="mt-8"
44+
v-bind:startImage="superLikeImage"
45+
v-bind:hoverImage="superLikeImageHover"
46+
v-bind:clickedImage="superLikeImageClicked"
47+
v-bind:text="'Super Like'"
48+
v-bind:textRevert="'Unlike'"
49+
v-bind:description="`Worth 10 likes, and ${user.first_name} sees your extra interest`"></LikeButton>
4550
</div>
46-
<div class="text-center p-8 border-b cursor-pointer relative">
51+
<div class="text-center p-8 border-b relative">
4752
<DropdownDisplayChoice
4853
v-on:save-single-choice="saveSingleChoice"
4954
class="max-w-xs mx-auto"
@@ -52,7 +57,7 @@
5257
v-bind:options="['harassment', 'bot', 'spam', 'inappropriate content']"></DropdownDisplayChoice>
5358
<h1 class="onboarding-sub-container-content-button-outline mx-auto">Report</h1>
5459
</div>
55-
<div class="text-center p-8 cursor-pointer">
60+
<div class="text-center p-8">
5661
<h1 class="onboarding-sub-container-content-button-outline text-red-500 mt-0 border-red-500 mx-auto">Block</h1>
5762
<h1 class="mx-auto mt-2 text-sm text-gray-600">Don't suggest this user and stop notifications</h1>
5863
</div>
@@ -61,14 +66,28 @@
6166

6267
<script>
6368
import DropdownDisplayChoice from '@/components/shared/DropdownDisplayChoice.vue';
69+
import LikeButton from '@/components/app/users/LikeButton.vue';
70+
import likeImage from '../../../assets/like.png';
71+
import likeImageHover from '../../../assets/likeHover.png';
72+
import likeImageClicked from '../../../assets/likeClicked.png';
73+
import superLikeImage from '../../../assets/superLike.png';
74+
import superLikeImageHover from '../../../assets/superLikeImageHover.png';
75+
import superLikeImageClicked from '../../../assets/superLikeImageClicked.png';
6476
6577
export default {
6678
props: ['user'],
6779
components: {
80+
LikeButton,
6881
DropdownDisplayChoice,
6982
},
7083
data: () => ({
7184
userInterests: [],
85+
likeImage,
86+
likeImageHover,
87+
likeImageClicked,
88+
superLikeImage,
89+
superLikeImageHover,
90+
superLikeImageClicked,
7291
}),
7392
methods: {
7493
preferences() {

0 commit comments

Comments
 (0)