/ src / components / Coin.vue
Coin.vue
 1  <template lang='pug'>
 2  .d
 3      img.dogepepecoin(@click='toggleGrab'  v-if='$store.getters.member.memberId !== b.taskId'  @mouseover='hoverthumb=true'  @mouseleave='hoverthumb=false'  :class="{ ungrabbedcoin : !isGrabbed, hoverthumb: hoverthumb }" src='../assets/images/thumbsup.svg'  draggable='false')
 4  </template>
 5  
 6  <script>
 7  
 8  export default {
 9      data(){
10          return {hoverthumb: false}
11      },
12      props: ['b'],
13      computed: {
14          isGrabbed(){
15            return this.b.deck.indexOf(this.$store.getters.member.memberId) >= 0
16          },
17      },
18      methods: {
19          toggleGrab(){
20              if(this.isGrabbed) {
21                  this.$store.dispatch("makeEvent", {
22                      type: 'task-dropped',
23                      taskId: this.b.taskId,
24                      memberId: this.$store.getters.member.memberId,
25                  })
26              } else {
27  
28                  this.$store.dispatch("makeEvent", {
29                      type: 'task-grabbed',
30                      taskId: this.b.taskId,
31                      memberId: this.$store.getters.member.memberId,
32                  })
33              }
34              this.hoverthumb = false
35          },
36      },
37  }
38  
39  </script>
40  
41  <style lang="stylus" scoped>
42  
43  @import '../styles/spinners'
44  
45  .d
46      display: inline-block;
47  
48  .dogepepecoin
49    display:inline-block;
50    width: 33px
51    cursor: pointer
52  
53  .ungrabbedcoin
54      opacity: 0.869
55      transform: rotate(180deg)
56  
57  img.dogepepecoin.hoverthumb
58      opacity: 0.9169
59      transform: rotate(-90deg)
60  
61  img.dogepepecoin.hidden
62      opacity: 0
63  
64  </style>