14
14
<link-list
15
15
v-for =" (section, i) in content.sections"
16
16
:key =" `${i}_LinkList`"
17
- :link-list =" section" />
17
+ :link-list =" section"
18
+ :global-tracking-contexts =" globalTrackingContexts" />
18
19
</div >
19
20
20
21
<div :class =" $style['c-footer-light']" >
30
31
<button-list
31
32
v-for =" (buttonList, i) in copy.linkButtonList"
32
33
:key =" `${i}_ButtonList`"
33
- :button-list =" buttonList" />
34
+ :button-list =" buttonList"
35
+ :global-tracking-contexts =" globalTrackingContexts" />
34
36
</div >
35
37
36
38
<div
42
44
:title =" copy.downloadOurApps"
43
45
:icons =" copy.appStoreIcons"
44
46
:locale =" copy.locale"
45
- list-type =" apps" />
47
+ list-type =" apps"
48
+ :global-tracking-contexts =" globalTrackingContexts" />
46
49
47
50
<feedback-block
48
51
:title =" copy.feedback"
49
52
:text =" copy.improveOurWebsite"
50
53
:button-text =" copy.sendFeedback"
51
- data-test-id =" feedback-block" />
54
+ data-test-id =" feedback-block"
55
+ :global-tracking-contexts =" globalTrackingContexts" />
52
56
53
57
<icon-list
54
58
:icons =" copy.socialIcons"
55
59
:title =" copy.followUs"
56
- list-type =" social" />
60
+ list-type =" social"
61
+ :global-tracking-contexts =" globalTrackingContexts" />
57
62
</div >
58
63
</div >
59
64
</div >
73
78
:current-country-name =" copy.currentCountryName"
74
79
:current-country-key =" copy.currentCountryKey"
75
80
:countries =" countryList"
76
- :change-country-text =" copy.changeCurrentCountry" />
81
+ :change-country-text =" copy.changeCurrentCountry"
82
+ :global-tracking-contexts =" globalTrackingContexts" />
77
83
78
84
<legal-field
79
85
v-if =" metaLegalFieldEnabled"
82
88
83
89
<icon-list
84
90
:icons =" copy.paymentIcons"
85
- list-type =" payments" />
91
+ list-type =" payments"
92
+ :global-tracking-contexts =" globalTrackingContexts" />
86
93
</div >
87
94
</footer >
88
95
</template >
89
96
90
97
<script >
91
98
import { globalisationServices } from ' @justeat/f-services' ;
99
+
92
100
import ButtonList from ' ./ButtonList.vue' ;
93
101
import CountrySelector from ' ./CountrySelector.vue' ;
94
102
import FeedbackBlock from ' ./FeedbackBlock.vue' ;
95
103
import IconList from ' ./IconList.vue' ;
96
104
import LegalField from ' ./LegalField.vue' ;
97
105
import LinkList from ' ./LinkList.vue' ;
98
106
import { tenantConfigs , countries } from ' ../tenants' ;
107
+ import analyticsMixin from ' ../mixins/analytics.mixin' ;
99
108
100
109
export default {
101
110
name: ' PageFooter' ,
111
+
102
112
components: {
103
113
ButtonList,
104
114
CountrySelector,
@@ -107,6 +117,9 @@ export default {
107
117
LegalField,
108
118
LinkList
109
119
},
120
+
121
+ mixins: [analyticsMixin],
122
+
110
123
props: {
111
124
locale: {
112
125
type: String ,
@@ -125,20 +138,25 @@ export default {
125
138
default : () => {}
126
139
}
127
140
},
141
+
128
142
computed: {
129
143
footerLocale () {
130
144
return globalisationServices .getLocale (tenantConfigs, this .locale , this .$i18n );
131
145
},
146
+
132
147
copy () {
133
148
const localeConfig = tenantConfigs[this .footerLocale ];
134
149
return localeConfig;
135
150
},
151
+
136
152
theme () {
137
153
return globalisationServices .getTheme (this .footerLocale );
138
154
},
155
+
139
156
metaLegalFieldEnabled () {
140
157
return Object .keys (this .copy .metaLegalField ).length > 0 ;
141
158
},
159
+
142
160
countryList () {
143
161
return countries .filter (country => country .key !== this .copy .currentCountryKey );
144
162
}
0 commit comments