23
23
role =" button"
24
24
tabindex =" 0"
25
25
class =" queueBtn btn"
26
- v-on:click =" toggleQueue "
27
- v-on:keypress.enter =" toggleQueue "
28
- :class =" { btnActive: queuedOrPrev }"
26
+ v-on:click =" setActiveList(0) "
27
+ v-on:keypress.enter =" setActiveList(0) "
28
+ :class =" { btnActive: activeList === 0 }"
29
29
>
30
30
<span >Pooled</span >
31
31
</span >
34
34
role =" button"
35
35
tabindex =" 0"
36
36
class =" btn"
37
- v-on:click =" togglePrev "
38
- v-on:keypress.enter =" togglePrev "
39
- :class =" { btnActive: !queuedOrPrev }"
37
+ v-on:click =" setActiveList(1) "
38
+ v-on:keypress.enter =" setActiveList(1) "
39
+ :class =" { btnActive: activeList === 1 }"
40
40
>
41
41
<span >Current run</span >
42
42
</span >
43
+ <!-- <span> | </span>
44
+ <span
45
+ role="button"
46
+ tabindex="0"
47
+ class="btn"
48
+ v-on:click="setActiveList(2)"
49
+ v-on:keypress.enter="setActiveList(2)"
50
+ :class="{ btnActive: activeList === 2 }"
51
+ >
52
+ <span>Graveyard</span>
53
+ </span> -->
43
54
<div v-if =" loggedIn" >
44
55
<br />
45
56
<span
@@ -67,6 +78,7 @@ import { mapActions } from "vuex";
67
78
import QueueComponent from " @/components/QueueComponent.vue" ;
68
79
import PoppedComponent from " @/components/PoppedComponent.vue" ;
69
80
import QueueItemComponent from " @/components/QueueItemComponent.vue" ;
81
+ import GraveComponent from " @/components/GraveComponent.vue" ;
70
82
import AddNameModal from " @/components/AddNameModal.vue" ;
71
83
import store from " @/store" ;
72
84
import { state as socketState } from " @/socket" ;
@@ -78,6 +90,7 @@ export default defineComponent({
78
90
components: {
79
91
QueueComponent ,
80
92
PoppedComponent ,
93
+ GraveComponent ,
81
94
QueueItemComponent ,
82
95
AddNameModal ,
83
96
},
@@ -98,15 +111,27 @@ export default defineComponent({
98
111
return store .state .loggedIn ;
99
112
},
100
113
dynamicComponent() {
101
- if (this .queuedOrPrev ) return QueueComponent ;
102
- return PoppedComponent ;
114
+ // if (this.activeList) return QueueComponent;
115
+ // return PoppedComponent;
116
+ switch (this .activeList ) {
117
+ case 0 :
118
+ return QueueComponent ;
119
+ case 1 :
120
+ return PoppedComponent ;
121
+ case 2 :
122
+ return GraveComponent ;
123
+ default :
124
+ return QueueComponent ;
125
+ }
103
126
},
104
- queuedOrPrev () {
105
- return store .state .queuedOrPrev ;
127
+ activeList () {
128
+ return store .state .activeList ;
106
129
},
107
130
listAnimationDirection() {
108
- if (store .state .queuedOrPrev ) return " slideXR" ;
109
- return " slideXL" ;
131
+ if (store .state .activeList === 0 ) return " slideXR" ;
132
+ else if (store .state .activeList === 1 ) return " slideXL" ;
133
+ // else if (store.state.activeList === 2) return "slideXL";
134
+ else return " slideXR" ;
110
135
},
111
136
mostRecentNameMsg() {
112
137
return socketState .poppedNames .length
@@ -125,13 +150,7 @@ export default defineComponent({
125
150
},
126
151
},
127
152
methods: {
128
- ... mapActions ([" setQueuedOrPrev" ]),
129
- toggleQueue() {
130
- this .setQueuedOrPrev (true );
131
- },
132
- togglePrev() {
133
- this .setQueuedOrPrev (false );
134
- },
153
+ ... mapActions ([" setActiveList" ]),
135
154
closeModal() {
136
155
this .showAddModal = false ;
137
156
},
@@ -187,7 +206,10 @@ export default defineComponent({
187
206
.slideXL-leave-active ,
188
207
.slideY-move ,
189
208
.slideY-enter-active ,
190
- .slideY-leave-active {
209
+ .slideY-leave-active ,
210
+ .slideYImm-move ,
211
+ .slideYImm-enter-active ,
212
+ .slideYImm-leave-active {
191
213
transition : all 0.6s ease ;
192
214
}
193
215
@@ -202,12 +224,14 @@ export default defineComponent({
202
224
}
203
225
204
226
.slideXR-leave-active ,
205
- .slideXL-leave-active {
227
+ .slideXL-leave-active ,
228
+ .slideYImm-leave-active {
206
229
position : absolute ;
207
230
transition : none ;
208
231
opacity : 0 ;
209
232
}
210
233
234
+ .slideYImm-enter-from ,
211
235
.slideY-enter-from {
212
236
opacity : 0 ;
213
237
transform : translateY (30px );
0 commit comments