@@ -119,10 +119,14 @@ export default class InvioPlugin extends Plugin {
119
119
return this . i18n . t ( x , vars ) ;
120
120
} ;
121
121
122
- const getNotice = ( x : string , timeout ?: number ) => {
122
+ const getNotice = ( modal : LoadingModal , x : string , timeout ?: number ) => {
123
123
// only show notices in manual mode
124
124
// no notice in auto mode
125
125
if ( triggerSource === "manual" || triggerSource === "dry" ) {
126
+ if ( modal ) {
127
+ modal . info ( x ) ;
128
+ return ;
129
+ }
126
130
new Notice ( x , timeout ) ;
127
131
}
128
132
} ;
@@ -164,10 +168,14 @@ export default class InvioPlugin extends Plugin {
164
168
) ;
165
169
}
166
170
171
+ loadingModal = new LoadingModal ( this . app , this ) ;
172
+ loadingModal . open ( ) ;
173
+
167
174
const MAX_STEPS = 8 ;
168
175
169
176
if ( triggerSource === "dry" ) {
170
177
getNotice (
178
+ loadingModal ,
171
179
t ( "syncrun_step0" , {
172
180
maxSteps : `${ MAX_STEPS } ` ,
173
181
} )
@@ -176,6 +184,7 @@ export default class InvioPlugin extends Plugin {
176
184
177
185
//log.info(`huh ${this.settings.password}`)
178
186
getNotice (
187
+ loadingModal ,
179
188
t ( "syncrun_step1" , {
180
189
maxSteps : `${ MAX_STEPS } ` ,
181
190
serviceType : this . settings . serviceType ,
@@ -184,14 +193,13 @@ export default class InvioPlugin extends Plugin {
184
193
this . syncStatus = "preparing" ;
185
194
186
195
getNotice (
196
+ loadingModal ,
187
197
t ( "syncrun_step2" , {
188
198
maxSteps : `${ MAX_STEPS } ` ,
189
199
} )
190
200
) ;
191
201
192
202
193
- loadingModal = new LoadingModal ( this . app , this ) ;
194
- loadingModal . open ( ) ;
195
203
196
204
this . syncStatus = "getting_remote_files_list" ;
197
205
const self = this ;
@@ -207,6 +215,7 @@ export default class InvioPlugin extends Plugin {
207
215
const remoteContents = remoteRsp . Contents . filter ( item => item . key !== RemoteSrcPrefix ) ;
208
216
209
217
getNotice (
218
+ loadingModal ,
210
219
t ( "syncrun_step3" , {
211
220
maxSteps : `${ MAX_STEPS } ` ,
212
221
} )
@@ -217,11 +226,12 @@ export default class InvioPlugin extends Plugin {
217
226
this . settings . password
218
227
) ;
219
228
if ( ! passwordCheckResult . ok ) {
220
- getNotice ( t ( "syncrun_passworderr" ) ) ;
229
+ getNotice ( loadingModal , t ( "syncrun_passworderr" ) ) ;
221
230
throw Error ( passwordCheckResult . reason ) ;
222
231
}
223
232
224
233
getNotice (
234
+ loadingModal ,
225
235
t ( "syncrun_step4" , {
226
236
maxSteps : `${ MAX_STEPS } ` ,
227
237
} )
@@ -244,6 +254,7 @@ export default class InvioPlugin extends Plugin {
244
254
console . log ( 'fetchMetadataFile result: ' , origMetadataOnRemote ) ;
245
255
246
256
getNotice (
257
+ loadingModal ,
247
258
t ( "syncrun_step5" , {
248
259
maxSteps : `${ MAX_STEPS } ` ,
249
260
} )
@@ -271,6 +282,7 @@ export default class InvioPlugin extends Plugin {
271
282
log . info ( 'local history: ' , localHistory ) ;
272
283
273
284
getNotice (
285
+ loadingModal ,
274
286
t ( "syncrun_step6" , {
275
287
maxSteps : `${ MAX_STEPS } ` ,
276
288
} )
@@ -298,6 +310,7 @@ export default class InvioPlugin extends Plugin {
298
310
299
311
try {
300
312
loadingModal . close ( ) ;
313
+ loadingModal = null ;
301
314
302
315
await new Promise ( ( resolve , reject ) => {
303
316
if ( fileList ?. length > 0 ) {
@@ -314,7 +327,7 @@ export default class InvioPlugin extends Plugin {
314
327
} catch ( error ) {
315
328
log . info ( 'user cancelled' ) ;
316
329
this . syncStatus = "idle" ;
317
- getNotice ( 'user cancelled' )
330
+ getNotice ( loadingModal , 'user cancelled' )
318
331
if ( this . syncRibbon !== undefined ) {
319
332
setIcon ( this . syncRibbon , iconNameSyncLogo ) ;
320
333
this . syncRibbon . setAttribute ( "aria-label" , originLabel ) ;
@@ -477,13 +490,15 @@ export default class InvioPlugin extends Plugin {
477
490
} else {
478
491
this . syncStatus = "syncing" ;
479
492
getNotice (
493
+ null ,
480
494
t ( "syncrun_step7skip" , {
481
495
maxSteps : `${ MAX_STEPS } ` ,
482
496
} )
483
497
) ;
484
498
}
485
499
486
500
getNotice (
501
+ null ,
487
502
t ( "syncrun_step8" , {
488
503
maxSteps : `${ MAX_STEPS } ` ,
489
504
} )
@@ -516,13 +531,13 @@ export default class InvioPlugin extends Plugin {
516
531
loadingModal . close ( ) ;
517
532
log . error ( msg ) ;
518
533
log . error ( error ) ;
519
- getNotice ( msg , 10 * 1000 ) ;
534
+ getNotice ( null , msg , 10 * 1000 ) ;
520
535
if ( error instanceof AggregateError ) {
521
536
for ( const e of error . errors ) {
522
- getNotice ( e . message , 10 * 1000 ) ;
537
+ getNotice ( null , e . message , 10 * 1000 ) ;
523
538
}
524
539
} else {
525
- getNotice ( error . message , 10 * 1000 ) ;
540
+ getNotice ( null , error . message , 10 * 1000 ) ;
526
541
}
527
542
this . syncStatus = "idle" ;
528
543
if ( this . syncRibbon !== undefined ) {
0 commit comments