@@ -14,8 +14,12 @@ import {
14
14
SET_DEVELOPER_MODE_SUCCEEDED ,
15
15
FLAG_GETTING_GEOLOCATION_ENABLED ,
16
16
FLAG_SETTING_GEOLOCATION_ENABLED ,
17
+ FLAG_GETTING_SYNC_ADVANCED_MODE ,
18
+ FLAG_SETTING_SYNC_ADVANCED_MODE ,
17
19
GET_GEOLOCATION_ENABLED_SUCCEEDED ,
18
20
SET_GEOLOCATION_ENABLED_SUCCEEDED ,
21
+ SET_SYNC_ADVANCED_MODE_SUCCEEDED ,
22
+ GET_SYNC_ADVANCED_MODE_SUCCEEDED ,
19
23
} from '../types' ;
20
24
import {
21
25
ERROR_GETTING_GEOLOCATION ,
@@ -27,6 +31,8 @@ import {
27
31
ERROR_GETTING_DEVELOPER_MODE ,
28
32
ERROR_SETTING_GEOLOCATION_ENABLED ,
29
33
ERROR_GETTING_GEOLOCATION_ENABLED ,
34
+ ERROR_GETTING_SYNC_ADVANCED_MODE ,
35
+ ERROR_SETTING_SYNC_ADVANCED_MODE ,
30
36
} from '../config/messages' ;
31
37
import {
32
38
GET_USER_FOLDER_CHANNEL ,
@@ -36,6 +42,8 @@ import {
36
42
SET_DEVELOPER_MODE_CHANNEL ,
37
43
GET_GEOLOCATION_ENABLED_CHANNEL ,
38
44
SET_GEOLOCATION_ENABLED_CHANNEL ,
45
+ GET_SYNC_ADVANCED_MODE_CHANNEL ,
46
+ SET_SYNC_ADVANCED_MODE_CHANNEL ,
39
47
} from '../config/channels' ;
40
48
import { createFlag } from './common' ;
41
49
import { ERROR_GENERAL } from '../config/errors' ;
@@ -51,6 +59,8 @@ const flagGettingGeolocationEnabled = createFlag(
51
59
const flagSettingGeolocationEnabled = createFlag (
52
60
FLAG_SETTING_GEOLOCATION_ENABLED
53
61
) ;
62
+ const flagGettingSyncAdvancedMode = createFlag ( FLAG_GETTING_SYNC_ADVANCED_MODE ) ;
63
+ const flagSettingSyncAdvancedMode = createFlag ( FLAG_SETTING_SYNC_ADVANCED_MODE ) ;
54
64
55
65
const getGeolocation = async ( ) => async dispatch => {
56
66
// only fetch location if online
@@ -240,6 +250,51 @@ const setGeolocationEnabled = async geolocationEnabled => dispatch => {
240
250
}
241
251
} ;
242
252
253
+ const getSyncAdvancedMode = async ( ) => dispatch => {
254
+ try {
255
+ dispatch ( flagGettingSyncAdvancedMode ( true ) ) ;
256
+ window . ipcRenderer . send ( GET_SYNC_ADVANCED_MODE_CHANNEL ) ;
257
+ window . ipcRenderer . once (
258
+ GET_SYNC_ADVANCED_MODE_CHANNEL ,
259
+ ( event , syncAdvancedMode ) => {
260
+ if ( syncAdvancedMode === ERROR_GENERAL ) {
261
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_GETTING_SYNC_ADVANCED_MODE ) ;
262
+ } else {
263
+ dispatch ( {
264
+ type : GET_SYNC_ADVANCED_MODE_SUCCEEDED ,
265
+ payload : syncAdvancedMode ,
266
+ } ) ;
267
+ }
268
+ dispatch ( flagGettingSyncAdvancedMode ( false ) ) ;
269
+ }
270
+ ) ;
271
+ } catch ( e ) {
272
+ console . error ( e ) ;
273
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_GETTING_SYNC_ADVANCED_MODE ) ;
274
+ }
275
+ } ;
276
+
277
+ const setSyncAdvancedMode = async syncAdvancedMode => dispatch => {
278
+ try {
279
+ dispatch ( flagSettingSyncAdvancedMode ( true ) ) ;
280
+ window . ipcRenderer . send ( SET_SYNC_ADVANCED_MODE_CHANNEL , syncAdvancedMode ) ;
281
+ window . ipcRenderer . once ( SET_SYNC_ADVANCED_MODE_CHANNEL , ( event , mode ) => {
282
+ if ( mode === ERROR_GENERAL ) {
283
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_SETTING_SYNC_ADVANCED_MODE ) ;
284
+ } else {
285
+ dispatch ( {
286
+ type : SET_SYNC_ADVANCED_MODE_SUCCEEDED ,
287
+ payload : mode ,
288
+ } ) ;
289
+ }
290
+ dispatch ( flagSettingSyncAdvancedMode ( false ) ) ;
291
+ } ) ;
292
+ } catch ( e ) {
293
+ console . error ( e ) ;
294
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_SETTING_SYNC_ADVANCED_MODE ) ;
295
+ }
296
+ } ;
297
+
243
298
export {
244
299
getUserFolder ,
245
300
getGeolocation ,
@@ -249,4 +304,6 @@ export {
249
304
setDeveloperMode ,
250
305
getGeolocationEnabled ,
251
306
setGeolocationEnabled ,
307
+ getSyncAdvancedMode ,
308
+ setSyncAdvancedMode ,
252
309
} ;
0 commit comments