@@ -27,22 +27,22 @@ defineSmartComponent({
27
27
* @param {OnContextUpdateArgs } args
28
28
*/
29
29
onContextUpdate ( { component, context, onEvent, updateComponent, signal } ) {
30
- updateComponent ( 'emails ' , { state : 'loading' } ) ;
30
+ updateComponent ( 'emailListState ' , { type : 'loading' } ) ;
31
31
updateComponent ( 'addEmailFormState' , { type : 'idle' } ) ;
32
32
component . resetAddEmailForm ( ) ;
33
33
34
34
const api = getApi ( context . apiConfig , signal ) ;
35
35
36
36
/**
37
37
* @param {string } address
38
- * @param {(state : SecondaryAddressState) => void }callback
38
+ * @param {(emailListState : SecondaryAddressState) => void } callback
39
39
*/
40
40
function updateSecondary ( address , callback ) {
41
41
updateComponent (
42
- 'emails ' ,
43
- /** @param {EmailListStateLoaded } emails */
44
- ( emails ) => {
45
- const secondaryState = emails . value . secondaryAddresses . find ( ( a ) => a . address === address ) ;
42
+ 'emailListState ' ,
43
+ /** @param {EmailListStateLoaded } emailListState */
44
+ ( emailListState ) => {
45
+ const secondaryState = emailListState . emailList . secondaryAddresses . find ( ( a ) => a . address === address ) ;
46
46
if ( secondaryState != null ) {
47
47
callback ( secondaryState ) ;
48
48
}
@@ -53,16 +53,16 @@ defineSmartComponent({
53
53
api
54
54
. fetchEmailAddresses ( )
55
55
. then ( ( { self, secondary } ) => {
56
- updateComponent ( 'emails ' , {
57
- state : 'loaded' ,
58
- value : {
56
+ updateComponent ( 'emailListState ' , {
57
+ type : 'loaded' ,
58
+ emailList : {
59
59
primaryAddress : {
60
- state : 'idle' ,
60
+ type : 'idle' ,
61
61
address : self . email ,
62
62
verified : self . emailValidated ,
63
63
} ,
64
64
secondaryAddresses : secondary . map ( ( secondaryAddress ) => ( {
65
- state : 'idle' ,
65
+ type : 'idle' ,
66
66
address : secondaryAddress ,
67
67
verified : true ,
68
68
} ) ) ,
@@ -71,15 +71,15 @@ defineSmartComponent({
71
71
} )
72
72
. catch ( ( error ) => {
73
73
console . error ( error ) ;
74
- updateComponent ( 'emails ' , { state : 'error' } ) ;
74
+ updateComponent ( 'emailListState ' , { type : 'error' } ) ;
75
75
} ) ;
76
76
77
77
onEvent ( 'cc-email-list:send-confirmation-email' , ( address ) => {
78
78
updateComponent (
79
- 'emails ' ,
80
- /** @param {EmailListStateLoaded } emails */
81
- ( emails ) => {
82
- emails . value . primaryAddress . state = 'sending-confirmation-email' ;
79
+ 'emailListState ' ,
80
+ /** @param {EmailListStateLoaded } emailListState */
81
+ ( emailListState ) => {
82
+ emailListState . emailList . primaryAddress . type = 'sending-confirmation-email' ;
83
83
} ,
84
84
) ;
85
85
@@ -105,10 +105,10 @@ defineSmartComponent({
105
105
)
106
106
. finally ( ( ) => {
107
107
updateComponent (
108
- 'emails ' ,
109
- /** @param {EmailListStateLoaded } emails */
110
- ( emails ) => {
111
- emails . value . primaryAddress . state = 'idle' ;
108
+ 'emailListState ' ,
109
+ /** @param {EmailListStateLoaded } emailListState */
110
+ ( emailListState ) => {
111
+ emailListState . emailList . primaryAddress . type = 'idle' ;
112
112
} ,
113
113
) ;
114
114
} ) ;
@@ -117,9 +117,9 @@ defineSmartComponent({
117
117
onEvent ( 'cc-email-list:add' , ( address ) => {
118
118
updateComponent (
119
119
'addEmailFormState' ,
120
- /** @param {AddEmailFormState } state */
121
- ( state ) => {
122
- state . type = 'adding' ;
120
+ /** @param {AddEmailFormState } emailListState */
121
+ ( emailListState ) => {
122
+ emailListState . type = 'adding' ;
123
123
} ,
124
124
) ;
125
125
@@ -149,9 +149,9 @@ defineSmartComponent({
149
149
} else {
150
150
updateComponent (
151
151
'addEmailFormState' ,
152
- /** @param {AddEmailFormState } state */
153
- ( state ) => {
154
- state . errors = {
152
+ /** @param {AddEmailFormState } emailListState */
153
+ ( emailListState ) => {
154
+ emailListState . errors = {
155
155
email : errorCode ,
156
156
} ;
157
157
} ,
@@ -162,17 +162,17 @@ defineSmartComponent({
162
162
. finally ( ( ) => {
163
163
updateComponent (
164
164
'addEmailFormState' ,
165
- /** @param {AddEmailFormState } state */
166
- ( state ) => {
167
- state . type = 'idle' ;
165
+ /** @param {AddEmailFormState } emailListState */
166
+ ( emailListState ) => {
167
+ emailListState . type = 'idle' ;
168
168
} ,
169
169
) ;
170
170
} ) ;
171
171
} ) ;
172
172
173
173
onEvent ( 'cc-email-list:delete' , ( address ) => {
174
174
updateSecondary ( address , ( secondaryAddressState ) => {
175
- secondaryAddressState . state = 'deleting' ;
175
+ secondaryAddressState . type = 'deleting' ;
176
176
} ) ;
177
177
178
178
api
@@ -181,10 +181,12 @@ defineSmartComponent({
181
181
notifySuccess ( i18n ( 'cc-email-list.secondary.action.delete.success' , { address } ) ) ;
182
182
183
183
updateComponent (
184
- 'emails' ,
185
- /** @param {EmailListStateLoaded } emails */
186
- ( emails ) => {
187
- emails . value . secondaryAddresses = emails . value . secondaryAddresses . filter ( ( a ) => a . address !== address ) ;
184
+ 'emailListState' ,
185
+ /** @param {EmailListStateLoaded } emailListState */
186
+ ( emailListState ) => {
187
+ emailListState . emailList . secondaryAddresses = emailListState . emailList . secondaryAddresses . filter (
188
+ ( a ) => a . address !== address ,
189
+ ) ;
188
190
} ,
189
191
) ;
190
192
} )
@@ -194,34 +196,34 @@ defineSmartComponent({
194
196
console . error ( error ) ;
195
197
notifyError ( i18n ( 'cc-email-list.secondary.action.delete.error' , { address } ) ) ;
196
198
updateSecondary ( address , ( secondaryAddressState ) => {
197
- secondaryAddressState . state = 'idle' ;
199
+ secondaryAddressState . type = 'idle' ;
198
200
} ) ;
199
201
} ,
200
202
) ;
201
203
} ) ;
202
204
203
205
onEvent ( 'cc-email-list:mark-as-primary' , ( address ) => {
204
206
updateSecondary ( address , ( secondaryAddressState ) => {
205
- secondaryAddressState . state = 'marking-as-primary' ;
207
+ secondaryAddressState . type = 'marking-as-primary' ;
206
208
} ) ;
207
209
208
210
api
209
211
. markSecondaryEmailAddressAsPrimary ( address )
210
212
. then ( ( ) => {
211
213
notifySuccess ( i18n ( 'cc-email-list.secondary.action.mark-as-primary.success' , { address } ) ) ;
212
214
213
- if ( component . emails . state === 'loaded' ) {
214
- const primaryAddress = component . emails . value . primaryAddress . address ;
215
+ if ( component . emailListState . type === 'loaded' ) {
216
+ const primaryAddress = component . emailListState . emailList . primaryAddress . address ;
215
217
216
218
updateComponent (
217
- 'emails ' ,
218
- /** @param {EmailListStateLoaded } emails */
219
- ( emails ) => {
220
- emails . value . primaryAddress . address = address ;
219
+ 'emailListState ' ,
220
+ /** @param {EmailListStateLoaded } emailListState */
221
+ ( emailListState ) => {
222
+ emailListState . emailList . primaryAddress . address = address ;
221
223
} ,
222
224
) ;
223
225
updateSecondary ( address , ( secondaryAddressState ) => {
224
- secondaryAddressState . state = 'idle' ;
226
+ secondaryAddressState . type = 'idle' ;
225
227
secondaryAddressState . address = primaryAddress ;
226
228
} ) ;
227
229
}
@@ -232,7 +234,7 @@ defineSmartComponent({
232
234
console . error ( error ) ;
233
235
notifyError ( i18n ( 'cc-email-list.secondary.action.mark-as-primary.error' , { address } ) ) ;
234
236
updateSecondary ( address , ( secondaryAddressState ) => {
235
- secondaryAddressState . state = 'idle' ;
237
+ secondaryAddressState . type = 'idle' ;
236
238
} ) ;
237
239
} ,
238
240
) ;
0 commit comments