@@ -28,6 +28,10 @@ import {
28
28
SET_SPACE_AS_FAVORITE_SUCCEEDED ,
29
29
FLAG_SETTING_SPACE_AS_RECENT ,
30
30
SET_SPACE_AS_RECENT_SPACES_SUCCEEDED ,
31
+ FLAG_SETTING_ACTION_ACCESSIBILITY ,
32
+ SET_ACTION_ACCESSIBILITY_SUCCEEDED ,
33
+ FLAG_SETTING_ACTION_ENABLED ,
34
+ SET_ACTION_ENABLED_SUCCEEDED ,
31
35
} from '../types' ;
32
36
import {
33
37
ERROR_GETTING_GEOLOCATION ,
@@ -45,6 +49,8 @@ import {
45
49
ERROR_SETTING_USER_MODE ,
46
50
ERROR_SETTING_SPACE_AS_FAVORITE ,
47
51
ERROR_SETTING_SPACE_AS_RECENT ,
52
+ ERROR_SETTING_ACTION_ACCESSIBILITY ,
53
+ ERROR_SETTING_ACTION_ENABLED ,
48
54
} from '../config/messages' ;
49
55
import {
50
56
GET_USER_FOLDER_CHANNEL ,
@@ -60,6 +66,8 @@ import {
60
66
SET_USER_MODE_CHANNEL ,
61
67
SET_SPACE_AS_FAVORITE_CHANNEL ,
62
68
SET_SPACE_AS_RECENT_CHANNEL ,
69
+ SET_ACTION_ACCESSIBILITY_CHANNEL ,
70
+ SET_ACTION_ENABLED_CHANNEL ,
63
71
} from '../config/channels' ;
64
72
import { createFlag } from './common' ;
65
73
import { ERROR_GENERAL } from '../config/errors' ;
@@ -81,6 +89,10 @@ const flagGettingUserMode = createFlag(FLAG_GETTING_USER_MODE);
81
89
const flagSettingUserMode = createFlag ( FLAG_SETTING_USER_MODE ) ;
82
90
const flagSettingSpaceAsFavorite = createFlag ( FLAG_SETTING_SPACE_AS_FAVORITE ) ;
83
91
const flagSettingSpaceAsRecent = createFlag ( FLAG_SETTING_SPACE_AS_RECENT ) ;
92
+ const flagSettingActionAccessibility = createFlag (
93
+ FLAG_SETTING_ACTION_ACCESSIBILITY
94
+ ) ;
95
+ const flagSettingActionEnabled = createFlag ( FLAG_SETTING_ACTION_ENABLED ) ;
84
96
85
97
const getGeolocation = async ( ) => async dispatch => {
86
98
// only fetch location if online
@@ -399,6 +411,54 @@ const setSpaceAsRecent = payload => dispatch => {
399
411
}
400
412
} ;
401
413
414
+ const setActionAccessibility = payload => dispatch => {
415
+ try {
416
+ dispatch ( flagSettingActionAccessibility ( true ) ) ;
417
+ window . ipcRenderer . send ( SET_ACTION_ACCESSIBILITY_CHANNEL , payload ) ;
418
+ window . ipcRenderer . once (
419
+ SET_ACTION_ACCESSIBILITY_CHANNEL ,
420
+ ( event , response ) => {
421
+ if ( response === ERROR_GENERAL ) {
422
+ toastr . error (
423
+ ERROR_MESSAGE_HEADER ,
424
+ ERROR_SETTING_ACTION_ACCESSIBILITY
425
+ ) ;
426
+ } else {
427
+ dispatch ( {
428
+ type : SET_ACTION_ACCESSIBILITY_SUCCEEDED ,
429
+ payload,
430
+ } ) ;
431
+ }
432
+ dispatch ( flagSettingActionAccessibility ( false ) ) ;
433
+ }
434
+ ) ;
435
+ } catch ( e ) {
436
+ console . error ( e ) ;
437
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_SETTING_ACTION_ACCESSIBILITY ) ;
438
+ }
439
+ } ;
440
+
441
+ const setActionEnabled = payload => dispatch => {
442
+ try {
443
+ dispatch ( flagSettingActionEnabled ( true ) ) ;
444
+ window . ipcRenderer . send ( SET_ACTION_ENABLED_CHANNEL , payload ) ;
445
+ window . ipcRenderer . once ( SET_ACTION_ENABLED_CHANNEL , ( event , response ) => {
446
+ if ( response === ERROR_GENERAL ) {
447
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_SETTING_ACTION_ENABLED ) ;
448
+ } else {
449
+ dispatch ( {
450
+ type : SET_ACTION_ENABLED_SUCCEEDED ,
451
+ payload,
452
+ } ) ;
453
+ }
454
+ dispatch ( flagSettingActionEnabled ( false ) ) ;
455
+ } ) ;
456
+ } catch ( e ) {
457
+ console . error ( e ) ;
458
+ toastr . error ( ERROR_MESSAGE_HEADER , ERROR_SETTING_ACTION_ENABLED ) ;
459
+ }
460
+ } ;
461
+
402
462
export {
403
463
getUserFolder ,
404
464
getGeolocation ,
@@ -414,4 +474,6 @@ export {
414
474
setUserMode ,
415
475
setSpaceAsFavorite ,
416
476
setSpaceAsRecent ,
477
+ setActionAccessibility ,
478
+ setActionEnabled ,
417
479
} ;
0 commit comments