1
+ import { watch } from '@vue/composition-api' ;
1
2
import { defaultTooltipModifiers , ITooltipModifier , IWalletHTMLElements } from '..' ;
2
3
import { IOnboardingGetStepFnArgs , ITourStep , OnboardingTourStep } from '../types' ;
3
4
import { getOnboardingTexts } from './OnboardingTourTexts' ;
@@ -23,7 +24,7 @@ export function getTransactionListStep(
23
24
IWalletHTMLElements . ADDRESS_OVERVIEW_MOBILE_ACTION_BAR ,
24
25
] ,
25
26
disabledElements : [
26
- ...( txsLen ( ) > 0
27
+ ...( txsLen . value > 0
27
28
? [ IWalletHTMLElements . ADDRESS_OVERVIEW_TRANSACTIONS ]
28
29
: [
29
30
`${ IWalletHTMLElements . ADDRESS_OVERVIEW_TRANSACTIONS } h2` ,
@@ -37,14 +38,14 @@ export function getTransactionListStep(
37
38
disabledButtons : [
38
39
IWalletHTMLElements . BUTTON_SIDEBAR_BUY ,
39
40
IWalletHTMLElements . BUTTON_SIDEBAR_SELL ,
40
- txsLen ( ) === 0 ? '' : IWalletHTMLElements . BUTTON_ADDRESS_OVERVIEW_BUY ,
41
+ txsLen . value === 0 ? '' : IWalletHTMLElements . BUTTON_ADDRESS_OVERVIEW_BUY ,
41
42
] ,
42
43
scrollLockedElements : [
43
44
`${ IWalletHTMLElements . ACCOUNT_OVERVIEW_ADDRESS_LIST } .vue-recycle-scroller` ,
44
45
`${ IWalletHTMLElements . ADDRESS_OVERVIEW_TRANSACTIONS } .vue-recycle-scroller` ,
45
46
] ,
46
47
explicitInteractableElements : [
47
- txsLen ( ) === 0 ? IWalletHTMLElements . BUTTON_ADDRESS_OVERVIEW_BUY : '' ,
48
+ txsLen . value === 0 ? IWalletHTMLElements . BUTTON_ADDRESS_OVERVIEW_BUY : '' ,
48
49
] ,
49
50
} ;
50
51
@@ -54,7 +55,7 @@ export function getTransactionListStep(
54
55
} ,
55
56
tooltip : {
56
57
get target ( ) {
57
- if ( txsLen ( ) > 0 ) {
58
+ if ( txsLen . value > 0 ) {
58
59
return isSmallScreen . value
59
60
? `${ IWalletHTMLElements . ADDRESS_OVERVIEW_TRANSACTIONS }
60
61
.vue-recycle-scroller__item-view:nth-child(2)`
@@ -66,21 +67,21 @@ export function getTransactionListStep(
66
67
} ,
67
68
get content ( ) {
68
69
return getOnboardingTexts (
69
- OnboardingTourStep . TRANSACTION_LIST ) [ txsLen ( ) <= 1 ? 'default' : 'alternative' ] || [ ] ;
70
+ OnboardingTourStep . TRANSACTION_LIST ) [ txsLen . value <= 1 ? 'default' : 'alternative' ] || [ ] ;
70
71
} ,
71
72
params : {
72
73
get placement ( ) {
73
74
if ( ! isSmallScreen . value ) {
74
75
return 'left' ;
75
76
}
76
- return txsLen ( ) > 0 ? 'bottom' : 'top' ;
77
+ return txsLen . value > 0 ? 'bottom' : 'top' ;
77
78
} ,
78
79
get modifiers ( ) {
79
80
return [
80
81
{
81
82
name : 'offset' ,
82
83
options : {
83
- offset : txsLen ( ) > 0 && isSmallScreen . value ? [ 0 , 32 ] : [ 0 , 20 ] ,
84
+ offset : txsLen . value > 0 && isSmallScreen . value ? [ 0 , 32 ] : [ 0 , 20 ] ,
84
85
} ,
85
86
} as ITooltipModifier ,
86
87
...defaultTooltipModifiers . filter ( ( d ) => d . name !== 'offset' ) ,
@@ -90,25 +91,26 @@ export function getTransactionListStep(
90
91
} ,
91
92
lifecycle : {
92
93
mounted : ( { goToNextStep } ) => {
93
- if ( txsLen ( ) > 0 ) return undefined ;
94
+ if ( txsLen . value > 0 ) return undefined ;
94
95
95
- const freeNimBtnSelector = IWalletHTMLElements . ADDRESS_OVERVIEW_ACTIONS ;
96
- const freeNimBtn = document . querySelector ( freeNimBtnSelector ) ;
97
- if ( ! freeNimBtn ) return undefined ;
98
-
99
- freeNimBtn . addEventListener ( 'click' , ( ) => goToNextStep ( ) , { once : true } ) ;
96
+ const unwatch = watch ( txsLen , ( newVal ) => {
97
+ if ( newVal > 0 ) goToNextStep ( ) ;
98
+ } ) ;
100
99
101
100
// Add hightlight effect to 'Get Free NIM' button
102
- toggleHighlightButton ( freeNimBtnSelector , true , 'green' ) ;
103
- return ( ) => toggleHighlightButton ( freeNimBtnSelector , false , 'green' ) ;
101
+ toggleHighlightButton ( IWalletHTMLElements . ADDRESS_OVERVIEW_ACTIONS , true , 'green' ) ;
102
+ return ( ) => {
103
+ unwatch ( ) ;
104
+ return toggleHighlightButton ( IWalletHTMLElements . ADDRESS_OVERVIEW_ACTIONS , false , 'green' ) ;
105
+ } ;
104
106
} ,
105
107
} ,
106
108
get ui ( ) {
107
109
return {
108
110
...ui ,
109
111
110
112
// User is expected to click on the 'Get Free NIM' button
111
- isNextStepDisabled : txsLen ( ) === 0 ,
113
+ isNextStepDisabled : txsLen . value === 0 ,
112
114
} ;
113
115
} ,
114
116
} ;
0 commit comments