Parcourir la source

:recycle: simplifying pairing button states

tags/0.0.2
j il y a 3 ans
Parent
révision
eb1c737fbb
1 fichiers modifiés avec 18 ajouts et 12 suppressions
  1. 18
    12
      frontend/src/components/PairingButton.vue

+ 18
- 12
frontend/src/components/PairingButton.vue Voir le fichier

1
 <template lang="pug">
1
 <template lang="pug">
2
 .pairing-button.w-flex.row
2
 .pairing-button.w-flex.row
3
-    w-button(:class='status' v-if='status == "pristine"')(@click='pass')
4
-        p.pa4.text-upper pass
5
-    w-button(:class='status' v-if='status == "pristine"')(@click='pair')
6
-        p.pa4.text-upper pair
7
-    w-button(:class='status' v-if='status == "pending"')
8
-        p.pa4.text-upper pending
9
-    w-button(:class='status' v-if='status == "paired"')
10
-        p.pa4.text-upper paired
3
+    template(v-if='status == "pristine"')
4
+        w-button(:class='status')(@click='pass')
5
+            p.pa4.text-upper pass
6
+        w-button(:class='status')(@click='pair')
7
+            p.pa4.text-upper pair
8
+    template(v-else-if='status == "pending"')
9
+        w-button(:class='status')
10
+            p.pa4.text-upper pending
11
+    template(v-else)
12
+        w-button(:class='status')
13
+            p.pa4.text-upper paired
11
 </template>
14
 </template>
12
 
15
 
13
 <script>
16
 <script>
14
 export default {
17
 export default {
15
-    props: {},
18
+    props: {
19
+        status: {
20
+            required: false,
21
+            type: String,
22
+            default: 'pristine',
23
+        },
24
+    },
16
     emits: ['pair', 'pass'],
25
     emits: ['pair', 'pass'],
17
-    data: () => ({
18
-        status: 'pristine',
19
-    }),
20
     methods: {
26
     methods: {
21
         pair() {
27
         pair() {
22
             this.$emit('pair')
28
             this.$emit('pair')

Chargement…
Annuler
Enregistrer