@@ -73,50 +73,54 @@ function useGetUserDirectoryErrors() {
73
73
return { getUserDirectoryErrors } ;
74
74
}
75
75
76
- async function saveUser (
77
- method : 'user-add' | 'user-update' ,
78
- user : User ,
79
- setError : ( error : string ) => void ,
80
- actions : BoundActions ,
81
- ) : Promise < boolean > {
76
+ function useSaveUser ( ) {
82
77
const { t } = useTranslation ( ) ;
83
-
84
78
const { getUserDirectoryErrors } = useGetUserDirectoryErrors ( ) ;
85
79
86
- const { error, id : newId } = ( await send ( method , user ) ) || { } ;
87
- if ( ! error ) {
88
- if ( newId ) {
89
- user . id = newId ;
90
- }
91
- } else {
92
- setError ( getUserDirectoryErrors ( error ) ) ;
93
- if ( error === 'token-expired' ) {
94
- actions . addNotification ( {
95
- type : 'error' ,
96
- id : 'login-expired' ,
97
- title : t ( 'Login expired' ) ,
98
- sticky : true ,
99
- message : getUserDirectoryErrors ( error ) ,
100
- button : {
101
- title : t ( 'Go to login' ) ,
102
- action : ( ) => {
103
- actions . signOut ( ) ;
80
+ async function saveUser (
81
+ method : 'user-add' | 'user-update' ,
82
+ user : User ,
83
+ setError : ( error : string ) => void ,
84
+ actions : BoundActions ,
85
+ ) : Promise < boolean > {
86
+ const { error, id : newId } = ( await send ( method , user ) ) || { } ;
87
+ if ( ! error ) {
88
+ if ( newId ) {
89
+ user . id = newId ;
90
+ }
91
+ } else {
92
+ setError ( getUserDirectoryErrors ( error ) ) ;
93
+ if ( error === 'token-expired' ) {
94
+ actions . addNotification ( {
95
+ type : 'error' ,
96
+ id : 'login-expired' ,
97
+ title : t ( 'Login expired' ) ,
98
+ sticky : true ,
99
+ message : getUserDirectoryErrors ( error ) ,
100
+ button : {
101
+ title : t ( 'Go to login' ) ,
102
+ action : ( ) => {
103
+ actions . signOut ( ) ;
104
+ } ,
104
105
} ,
105
- } ,
106
- } ) ;
106
+ } ) ;
107
+ }
108
+
109
+ return false ;
107
110
}
108
111
109
- return false ;
112
+ return true ;
110
113
}
111
114
112
- return true ;
115
+ return { saveUser } ;
113
116
}
114
117
115
118
export function EditUserFinanceApp ( {
116
119
defaultUser,
117
120
onSave : originalOnSave ,
118
121
} : EditUserFinanceAppProps ) {
119
122
const { t } = useTranslation ( ) ;
123
+ const { saveUser } = useSaveUser ( ) ;
120
124
121
125
return (
122
126
< Modal name = "edit-user" >
0 commit comments