@axelor/aos-mobile-core 9.0.10 → 9.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/lib/api/axios-init.d.ts +10 -0
  2. package/lib/api/axios-init.js +43 -0
  3. package/lib/api/axios-init.js.map +1 -0
  4. package/lib/api/index.d.ts +2 -1
  5. package/lib/api/index.js +2 -1
  6. package/lib/api/index.js.map +1 -1
  7. package/lib/api/login-api.d.ts +2 -16
  8. package/lib/api/login-api.js +13 -27
  9. package/lib/api/login-api.js.map +1 -1
  10. package/lib/apiProviders/Standard/ObjectFieldsProvider.d.ts +2 -0
  11. package/lib/apiProviders/Standard/ObjectFieldsProvider.js +17 -2
  12. package/lib/apiProviders/Standard/ObjectFieldsProvider.js.map +1 -1
  13. package/lib/apiProviders/Standard/index.d.ts +1 -1
  14. package/lib/apiProviders/Standard/index.js +1 -1
  15. package/lib/apiProviders/Standard/index.js.map +1 -1
  16. package/lib/apiProviders/Standard/requests.helper.d.ts +2 -1
  17. package/lib/apiProviders/Standard/requests.helper.js +7 -4
  18. package/lib/apiProviders/Standard/requests.helper.js.map +1 -1
  19. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js +8 -5
  20. package/lib/components/organisms/ScannerAutocompleteSearch/ScannerAutocompleteSearch.js.map +1 -1
  21. package/lib/features/authSlice.d.ts +51 -4
  22. package/lib/features/authSlice.js +108 -13
  23. package/lib/features/authSlice.js.map +1 -1
  24. package/lib/features/scannerSlice.d.ts +2 -0
  25. package/lib/features/scannerSlice.js +8 -2
  26. package/lib/features/scannerSlice.js.map +1 -1
  27. package/lib/hooks/use-mass-scanner.js +6 -4
  28. package/lib/hooks/use-mass-scanner.js.map +1 -1
  29. package/lib/hooks/use-scan-activator.d.ts +1 -1
  30. package/lib/hooks/use-scan-activator.js +4 -4
  31. package/lib/hooks/use-scan-activator.js.map +1 -1
  32. package/lib/i18n/translations/en.json +17 -0
  33. package/lib/i18n/translations/fr.json +17 -0
  34. package/lib/navigator/components/DrawerContent.d.ts +1 -1
  35. package/lib/navigator/components/DrawerContent.js +16 -7
  36. package/lib/navigator/components/DrawerContent.js.map +1 -1
  37. package/lib/navigator/components/menu/Menu.d.ts +4 -2
  38. package/lib/navigator/components/menu/Menu.js +8 -2
  39. package/lib/navigator/components/menu/Menu.js.map +1 -1
  40. package/lib/navigator/helpers/index.d.ts +1 -1
  41. package/lib/navigator/helpers/index.js +1 -1
  42. package/lib/navigator/helpers/index.js.map +1 -1
  43. package/lib/navigator/helpers/menu.helper.d.ts +5 -4
  44. package/lib/navigator/helpers/menu.helper.js +17 -6
  45. package/lib/navigator/helpers/menu.helper.js.map +1 -1
  46. package/lib/screens/LoginScreen.js +2 -1
  47. package/lib/screens/LoginScreen.js.map +1 -1
  48. package/lib/screens/SessionManagementScreen.js +2 -1
  49. package/lib/screens/SessionManagementScreen.js.map +1 -1
  50. package/lib/sessions/components/alerts/MfaVerificationPopup.d.ts +3 -0
  51. package/lib/sessions/components/alerts/MfaVerificationPopup.js +136 -0
  52. package/lib/sessions/components/alerts/MfaVerificationPopup.js.map +1 -0
  53. package/lib/sessions/components/alerts/index.d.ts +1 -0
  54. package/lib/sessions/components/alerts/index.js +1 -0
  55. package/lib/sessions/components/alerts/index.js.map +1 -1
  56. package/lib/sessions/components/inputs/MfaCodeInput.d.ts +10 -0
  57. package/lib/sessions/components/inputs/MfaCodeInput.js +38 -0
  58. package/lib/sessions/components/inputs/MfaCodeInput.js.map +1 -0
  59. package/lib/sessions/components/inputs/index.d.ts +1 -0
  60. package/lib/sessions/components/inputs/index.js +1 -0
  61. package/lib/sessions/components/inputs/index.js.map +1 -1
  62. package/lib/sessions/index.d.ts +1 -0
  63. package/lib/sessions/index.js +1 -0
  64. package/lib/sessions/index.js.map +1 -1
  65. package/lib/sessions/mfa/api.d.ts +7 -0
  66. package/lib/sessions/mfa/api.js +71 -0
  67. package/lib/sessions/mfa/api.js.map +1 -0
  68. package/lib/sessions/mfa/errors.d.ts +14 -0
  69. package/lib/sessions/mfa/errors.js +36 -0
  70. package/lib/sessions/mfa/errors.js.map +1 -0
  71. package/lib/sessions/mfa/index.d.ts +6 -0
  72. package/lib/sessions/mfa/index.js +23 -0
  73. package/lib/sessions/mfa/index.js.map +1 -0
  74. package/lib/sessions/mfa/type.d.ts +34 -0
  75. package/lib/sessions/mfa/type.js +35 -0
  76. package/lib/sessions/mfa/type.js.map +1 -0
  77. package/lib/sessions/mfa/use-email-code.d.ts +14 -0
  78. package/lib/sessions/mfa/use-email-code.js +74 -0
  79. package/lib/sessions/mfa/use-email-code.js.map +1 -0
  80. package/lib/sessions/mfa/utils.d.ts +7 -0
  81. package/lib/sessions/mfa/utils.js +60 -0
  82. package/lib/sessions/mfa/utils.js.map +1 -0
  83. package/lib/utils/object.d.ts +1 -1
  84. package/lib/utils/string.d.ts +3 -3
  85. package/lib/utils/string.js +5 -7
  86. package/lib/utils/string.js.map +1 -1
  87. package/package.json +8 -8
@@ -16,29 +16,28 @@
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
18
  import { createAsyncThunk, createSlice } from '@reduxjs/toolkit';
19
- import { ejectAxios, getActiveUserInfo, loginApi, logoutApi, } from '../api/login-api';
19
+ import { getActiveUserInfo, loginApi, logoutApi } from '../api/login-api';
20
+ import { ejectAxios } from '../api/axios-init';
20
21
  import { apiProviderConfig } from '../apiProviders/config';
21
- import { saveUrlInStorage } from '../sessions';
22
+ import { MfaVerifyErrorCode, saveUrlInStorage, verifyMfaApi } from '../sessions';
22
23
  import { checkNullString, testUrl } from '../utils';
23
24
  import { modulesProvider } from '../app';
24
25
  import { webSocketProvider } from '../websocket';
25
26
  import { resetConfigs } from './appConfigSlice';
26
- export const login = createAsyncThunk('auth/login', async ({ url, username, password, closePopup }, { dispatch }) => {
27
- const urlWithProtocol = await testUrl(url);
28
- const { token, jsessionId, requestInterceptorId, responseInterceptorId } = await loginApi(urlWithProtocol, username, password);
27
+ async function finalizeLogin({ token, jsessionId, requestInterceptorId, responseInterceptorId }, url, dispatch) {
29
28
  const { userId, applicationMode } = await getActiveUserInfo();
30
- saveUrlInStorage(urlWithProtocol);
29
+ saveUrlInStorage(url);
31
30
  apiProviderConfig.setSessionExpired(false);
32
- closePopup?.();
33
31
  modulesProvider.getModuleRegisters().forEach(_f => _f(userId));
34
32
  webSocketProvider.initWebSocket({
35
- baseUrl: urlWithProtocol,
33
+ baseUrl: url,
36
34
  token,
37
35
  jsessionId,
38
36
  });
39
37
  dispatch(resetConfigs());
40
38
  return {
41
- url: urlWithProtocol,
39
+ phase: 'session',
40
+ url,
42
41
  token,
43
42
  jsessionId,
44
43
  userId,
@@ -46,6 +45,45 @@ export const login = createAsyncThunk('auth/login', async ({ url, username, pass
46
45
  responseInterceptorId,
47
46
  applicationMode,
48
47
  };
48
+ }
49
+ export const login = createAsyncThunk('auth/login', async ({ url, username, password, closePopup }, { dispatch }) => {
50
+ const urlWithProtocol = await testUrl(url);
51
+ const result = await loginApi(urlWithProtocol, username, password);
52
+ if (result.kind === 'mfa') {
53
+ closePopup?.();
54
+ return {
55
+ phase: 'mfa',
56
+ url: urlWithProtocol,
57
+ mfaState: {
58
+ username: result.username,
59
+ methods: result.methods,
60
+ emailRetryAfter: result.emailRetryAfter,
61
+ },
62
+ };
63
+ }
64
+ closePopup?.();
65
+ return finalizeLogin(result, urlWithProtocol, dispatch);
66
+ });
67
+ export const verifyMfa = createAsyncThunk('auth/verifyMfa', async ({ mfaCode, mfaMethod }, { getState, dispatch, rejectWithValue }) => {
68
+ const { baseUrl, mfaState } = getState()?.auth ?? {};
69
+ if (!baseUrl || !mfaState?.username) {
70
+ return rejectWithValue({ code: MfaVerifyErrorCode.SESSION_LOST });
71
+ }
72
+ try {
73
+ const result = await verifyMfaApi(baseUrl, {
74
+ username: mfaState.username,
75
+ mfaCode,
76
+ mfaMethod,
77
+ });
78
+ return finalizeLogin(result, baseUrl, dispatch);
79
+ }
80
+ catch (e) {
81
+ if (e?.code === MfaVerifyErrorCode.INVALID_CODE ||
82
+ e?.code === MfaVerifyErrorCode.SESSION_LOST) {
83
+ return rejectWithValue({ code: e.code });
84
+ }
85
+ throw e;
86
+ }
49
87
  });
50
88
  export const isUrlValid = createAsyncThunk('auth/isUrlValid', async ({ url }) => {
51
89
  if (!checkNullString(url)) {
@@ -64,6 +102,8 @@ export const logout = createAsyncThunk('auth/logout', async function (_, { getSt
64
102
  const initialState = {
65
103
  loading: false,
66
104
  logged: false,
105
+ mfaPending: false,
106
+ mfaState: null,
67
107
  userId: null,
68
108
  baseUrl: null,
69
109
  token: null,
@@ -89,32 +129,85 @@ export const authSlice = createSlice({
89
129
  state[key] = value;
90
130
  });
91
131
  },
132
+ cancelMfa: state => {
133
+ state.mfaPending = false;
134
+ state.mfaState = null;
135
+ state.error = null;
136
+ },
92
137
  },
93
138
  extraReducers: builder => {
94
139
  builder.addCase(login.pending, state => {
95
140
  state.logged = false;
96
141
  state.loading = true;
142
+ state.mfaPending = false;
143
+ state.mfaState = null;
97
144
  state.baseUrl = null;
98
145
  state.token = null;
99
146
  state.error = null;
100
147
  });
101
148
  builder.addCase(login.fulfilled, (state, action) => {
102
- const { url, token, jsessionId, userId, requestInterceptorId, responseInterceptorId, applicationMode, } = action.payload;
103
- state.logged = token != null;
149
+ const payload = action.payload ?? {};
104
150
  state.loading = false;
151
+ state.error = null;
152
+ if (payload.phase === 'mfa') {
153
+ state.logged = false;
154
+ state.mfaPending = true;
155
+ state.mfaState = payload.mfaState;
156
+ state.baseUrl = payload.url;
157
+ return;
158
+ }
159
+ const { url, token, jsessionId, userId, requestInterceptorId, responseInterceptorId, applicationMode, } = payload;
160
+ state.logged = token != null;
161
+ state.mfaPending = false;
162
+ state.mfaState = null;
105
163
  state.userId = userId;
106
164
  state.baseUrl = url;
107
165
  state.token = token;
108
166
  state.jsessionId = jsessionId;
109
- state.error = null;
110
167
  state.requestInterceptorId = requestInterceptorId;
111
168
  state.responseInterceptorId = responseInterceptorId;
112
169
  state.applicationMode = applicationMode;
113
170
  });
114
171
  builder.addCase(login.rejected, (state, action) => {
115
172
  state.loading = false;
173
+ state.mfaPending = false;
174
+ state.mfaState = null;
116
175
  state.error = { ...action.error, url: action.meta?.arg?.url };
117
176
  });
177
+ builder.addCase(verifyMfa.pending, state => {
178
+ state.loading = true;
179
+ state.error = null;
180
+ });
181
+ builder.addCase(verifyMfa.fulfilled, (state, action) => {
182
+ const { url, token, jsessionId, userId, requestInterceptorId, responseInterceptorId, applicationMode, } = action.payload ?? {};
183
+ state.loading = false;
184
+ state.logged = token != null;
185
+ state.mfaPending = false;
186
+ state.mfaState = null;
187
+ state.userId = userId;
188
+ state.baseUrl = url;
189
+ state.token = token;
190
+ state.jsessionId = jsessionId;
191
+ state.requestInterceptorId = requestInterceptorId;
192
+ state.responseInterceptorId = responseInterceptorId;
193
+ state.applicationMode = applicationMode;
194
+ state.error = null;
195
+ });
196
+ builder.addCase(verifyMfa.rejected, (state, action) => {
197
+ state.loading = false;
198
+ const code = action.payload?.code;
199
+ if (code === MfaVerifyErrorCode.SESSION_LOST) {
200
+ state.mfaPending = false;
201
+ state.mfaState = null;
202
+ state.error = { message: MfaVerifyErrorCode.SESSION_LOST };
203
+ return;
204
+ }
205
+ if (code === MfaVerifyErrorCode.INVALID_CODE) {
206
+ state.error = { message: MfaVerifyErrorCode.INVALID_CODE };
207
+ return;
208
+ }
209
+ state.error = { ...action.error };
210
+ });
118
211
  builder.addCase(isUrlValid.fulfilled, (state, action) => {
119
212
  state.error = null;
120
213
  });
@@ -124,6 +217,8 @@ export const authSlice = createSlice({
124
217
  builder.addCase(logout.fulfilled, state => {
125
218
  state.logged = false;
126
219
  state.loading = false;
220
+ state.mfaPending = false;
221
+ state.mfaState = null;
127
222
  state.userId = null;
128
223
  state.token = null;
129
224
  state.jsessionId = null;
@@ -134,6 +229,6 @@ export const authSlice = createSlice({
134
229
  });
135
230
  },
136
231
  });
137
- export const { clearError, setAppVersion, updateAuthState } = authSlice.actions;
232
+ export const { clearError, setAppVersion, updateAuthState, cancelMfa } = authSlice.actions;
138
233
  export const authReducer = authSlice.reducer;
139
234
  //# sourceMappingURL=authSlice.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../../src/features/authSlice.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authSlice.js","sourceRoot":"","sources":["../../src/features/authSlice.js"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ interface ScannerSliceState {
2
2
  isEnabled: boolean;
3
3
  scanKey: string | null;
4
4
  scannedValue: string | null;
5
+ isMassScan: boolean;
5
6
  }
6
7
  export declare const enableScan: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scanner/enableScan">, scanValue: import("@reduxjs/toolkit").ActionCreatorWithPayload<any, "scanner/scanValue">, disableScan: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"scanner/disableScan">, clearScan: import("@reduxjs/toolkit").ActionCreatorWithoutPayload<"scanner/clearScan">;
7
8
  export declare const useScannerSelector: () => ScannerSliceState;
@@ -10,5 +11,6 @@ declare const _default: import("redux").Reducer<{
10
11
  isEnabled: boolean;
11
12
  scanKey: any;
12
13
  scannedValue: any;
14
+ isMassScan: boolean;
13
15
  }>;
14
16
  export default _default;
@@ -24,12 +24,17 @@ const scannerSlice = createSlice({
24
24
  isEnabled: false,
25
25
  scanKey: null,
26
26
  scannedValue: null,
27
+ isMassScan: false,
27
28
  },
28
29
  reducers: {
29
30
  enableScan(state, action) {
31
+ const { scanKey, isMassScan } = typeof action.payload === 'string'
32
+ ? { scanKey: action.payload, isMassScan: false }
33
+ : action.payload;
30
34
  state.isEnabled = true;
31
- state.scanKey = action.payload;
35
+ state.scanKey = scanKey;
32
36
  state.scannedValue = null;
37
+ state.isMassScan = isMassScan ?? false;
33
38
  },
34
39
  scanValue(state, action) {
35
40
  state.scannedValue = action.payload;
@@ -38,6 +43,7 @@ const scannerSlice = createSlice({
38
43
  state.isEnabled = false;
39
44
  state.scanKey = null;
40
45
  state.scannedValue = null;
46
+ state.isMassScan = false;
41
47
  },
42
48
  clearScan(state) {
43
49
  state.scannedValue = null;
@@ -45,7 +51,7 @@ const scannerSlice = createSlice({
45
51
  },
46
52
  });
47
53
  export const { enableScan, scanValue, disableScan, clearScan } = scannerSlice.actions;
48
- const selectScanner = state => state.scanner;
54
+ const selectScanner = (state) => state.scanner;
49
55
  export const useScannerSelector = () => useSelector(selectScanner);
50
56
  export const useScannedValueByKey = key => {
51
57
  const { scanKey, scannedValue } = useScannerSelector();
@@ -1 +1 @@
1
- {"version":3,"file":"scannerSlice.js","sourceRoot":"","sources":["../../src/features/scannerSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAQ7C,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,SAAS;IACf,YAAY,EAAE;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;KACnB;IACD,QAAQ,EAAE;QACR,UAAU,CAAC,KAAK,EAAE,MAAM;YACtB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC/B,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,MAAM;YACrB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,WAAW,CAAC,KAAK;YACf,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;QACD,SAAS,CAAC,KAAK;YACb,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,GAC1D,YAAY,CAAC,OAAO,CAAC;AAEvB,MAAM,aAAa,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AAE7C,MAAM,CAAC,MAAM,kBAAkB,GAA4B,GAAG,EAAE,CAC9D,WAAW,CAAC,aAAa,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAmC,GAAG,CAAC,EAAE;IACxE,MAAM,EAAC,OAAO,EAAE,YAAY,EAAC,GAAG,kBAAkB,EAAE,CAAC;IACrD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC,OAAO,CAAC"}
1
+ {"version":3,"file":"scannerSlice.js","sourceRoot":"","sources":["../../src/features/scannerSlice.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,OAAO,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AACxC,OAAO,EAAC,WAAW,EAAC,MAAM,kBAAkB,CAAC;AAS7C,MAAM,YAAY,GAAG,WAAW,CAAC;IAC/B,IAAI,EAAE,SAAS;IACf,YAAY,EAAE;QACZ,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,KAAK;KAClB;IACD,QAAQ,EAAE;QACR,UAAU,CAAC,KAAK,EAAE,MAAM;YACtB,MAAM,EAAC,OAAO,EAAE,UAAU,EAAC,GACzB,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;gBAChC,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAC;gBAC9C,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAErB,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC;YACvB,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,UAAU,IAAI,KAAK,CAAC;QACzC,CAAC;QACD,SAAS,CAAC,KAAK,EAAE,MAAM;YACrB,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC;QACtC,CAAC;QACD,WAAW,CAAC,KAAK;YACf,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;YACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;YACrB,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;YAC1B,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;QAC3B,CAAC;QACD,SAAS,CAAC,KAAK;YACb,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;KACF;CACF,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAC,GAC1D,YAAY,CAAC,OAAO,CAAC;AAEvB,MAAM,aAAa,GAAG,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAA4B,GAAG,EAAE,CAC9D,WAAW,CAAC,aAAa,CAAC,CAAC;AAE7B,MAAM,CAAC,MAAM,oBAAoB,GAAmC,GAAG,CAAC,EAAE;IACxE,MAAM,EAAC,OAAO,EAAE,YAAY,EAAC,GAAG,kBAAkB,EAAE,CAAC;IACrD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAC7C,CAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,CAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,YAAY,CAAC,OAAO,CAAC"}
@@ -20,10 +20,12 @@ import { useDispatch } from '../redux/hooks';
20
20
  import { useCameraScannerValueByKey, clearBarcode, } from '../features/cameraScannerSlice';
21
21
  import { clearScan, useScannedValueByKey, useScannerSelector, } from '../features/scannerSlice';
22
22
  import { useScanActivator } from './use-scan-activator';
23
+ import { useIsFocused } from './use-navigation';
23
24
  export const useMassScanner = ({ scanKey, backgroundAction, fallbackAction, scanInterval = 1000, disableOnError = true, }) => {
24
25
  const isProcessingRef = useRef(false);
25
26
  const timerRef = useRef(null);
26
27
  const dispatch = useDispatch();
28
+ const isFocused = useIsFocused();
27
29
  const { isEnabled: isScanEnabled, scanKey: activeScanKey } = useScannerSelector();
28
30
  const { enable: enableScan, disable: disableScan, isZebraDevice, } = useScanActivator(scanKey, true);
29
31
  const scannedBarcode = useCameraScannerValueByKey(scanKey);
@@ -58,15 +60,15 @@ export const useMassScanner = ({ scanKey, backgroundAction, fallbackAction, scan
58
60
  const processScanRef = useRef(processScan);
59
61
  processScanRef.current = processScan;
60
62
  useEffect(() => {
61
- if (scannedValue) {
63
+ if (isFocused && scannedValue) {
62
64
  processScanRef.current(scannedValue, () => dispatch(clearScan()));
63
65
  }
64
- }, [dispatch, scannedValue]);
66
+ }, [dispatch, isFocused, scannedValue]);
65
67
  useEffect(() => {
66
- if (scannedBarcode?.value) {
68
+ if (isFocused && scannedBarcode?.value) {
67
69
  processScanRef.current(scannedBarcode.value, () => dispatch(clearBarcode()));
68
70
  }
69
- }, [dispatch, scannedBarcode?.value]);
71
+ }, [dispatch, isFocused, scannedBarcode?.value]);
70
72
  return useMemo(() => ({ disableScan, enableScan, isEnabled }), [disableScan, enableScan, isEnabled]);
71
73
  };
72
74
  //# sourceMappingURL=use-mass-scanner.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mass-scanner.js","sourceRoot":"","sources":["../../src/hooks/use-mass-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"use-mass-scanner.js","sourceRoot":"","sources":["../../src/hooks/use-mass-scanner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EACL,0BAA0B,EAC1B,YAAY,GACb,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,SAAS,EACT,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAa9C,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAC7B,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,YAAY,GAAG,IAAI,EACnB,cAAc,GAAG,IAAI,GACA,EAAE,EAAE;IACzB,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAuC,IAAI,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,MAAM,EAAC,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,aAAa,EAAC,GACtD,kBAAkB,EAAE,CAAC;IACvB,MAAM,EACJ,MAAM,EAAE,UAAU,EAClB,OAAO,EAAE,WAAW,EACpB,aAAa,GACd,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACpC,MAAM,cAAc,GAAG,0BAA0B,CAAC,OAAO,CAAC,CAAC;IAC3D,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CAAC,aAAa,IAAI,aAAa,KAAK,OAAO,EAChD,CAAC,aAAa,EAAE,aAAa,EAAE,OAAO,CAAC,CACxC,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAC7B,KAAK,EAAE,KAAa,EAAE,WAAuB,EAAE,EAAE;QAC/C,IAAI,eAAe,CAAC,OAAO;YAAE,OAAO;QAEpC,IAAI,CAAC;YACH,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;YAC/B,MAAM,gBAAgB,CAAC,KAAK,EAAE,EAAC,WAAW,EAAC,CAAC,CAAC;QAC/C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,cAAc;gBAAE,WAAW,EAAE,CAAC;YAClC,UAAU,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YACT,QAAQ,CAAC,OAAO,GAAG,UAAU,CAC3B,GAAG,EAAE;gBACH,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC;gBAChC,WAAW,EAAE,CAAC;YAChB,CAAC,EACD,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CACjC,CAAC;QACJ,CAAC;IACH,CAAC,EACD;QACE,gBAAgB;QAChB,cAAc;QACd,WAAW;QACX,cAAc;QACd,aAAa;QACb,YAAY;KACb,CACF,CAAC;IAEF,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3C,cAAc,CAAC,OAAO,GAAG,WAAW,CAAC;IAErC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;YAC9B,cAAc,CAAC,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QACpE,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;IAExC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,SAAS,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;YACvC,cAAc,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,CAChD,QAAQ,CAAC,YAAY,EAAE,CAAC,CACzB,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC,CAAC;IAEjD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAC,CAAC,EAC5C,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC,CACrC,CAAC;AACJ,CAAC,CAAC"}
@@ -3,7 +3,7 @@ export declare const useScanActivator: (scanKeySearch: string, isMassScan?: bool
3
3
  enable: () => void;
4
4
  isZebraDevice: boolean;
5
5
  };
6
- export declare const useScannerDeviceActivator: (scanKeySearch: string) => {
6
+ export declare const useScannerDeviceActivator: (scanKeySearch: string, isMassScan?: boolean) => {
7
7
  enable: () => void;
8
8
  disable: () => void;
9
9
  };
@@ -21,7 +21,7 @@ import { disableCameraScanner, enableCameraScanner, enableMassCameraScanner, } f
21
21
  import { enableScan, disableScan } from '../features/scannerSlice';
22
22
  import { useDispatch } from '../redux/hooks';
23
23
  export const useScanActivator = (scanKeySearch, isMassScan = false) => {
24
- const { enable: enableScanner, disable: disableScanner } = useScannerDeviceActivator(scanKeySearch);
24
+ const { enable: enableScanner, disable: disableScanner } = useScannerDeviceActivator(scanKeySearch, isMassScan);
25
25
  const { enable: enableCamera, enableMassCamera, disable: disableCamera, } = useCameraScannerActivator(scanKeySearch);
26
26
  const [isZebraDevice, setIsZebraDevice] = useState(false);
27
27
  useEffect(() => {
@@ -54,11 +54,11 @@ export const useScanActivator = (scanKeySearch, isMassScan = false) => {
54
54
  }, [isZebraDevice, disableScanner, disableCamera]);
55
55
  return useMemo(() => ({ disable, enable, isZebraDevice }), [disable, enable, isZebraDevice]);
56
56
  };
57
- export const useScannerDeviceActivator = (scanKeySearch) => {
57
+ export const useScannerDeviceActivator = (scanKeySearch, isMassScan = false) => {
58
58
  const dispatch = useDispatch();
59
59
  const enable = useCallback(() => {
60
- dispatch(enableScan(scanKeySearch));
61
- }, [dispatch, scanKeySearch]);
60
+ dispatch(enableScan({ scanKey: scanKeySearch, isMassScan }));
61
+ }, [dispatch, scanKeySearch, isMassScan]);
62
62
  const disable = useCallback(() => {
63
63
  dispatch(disableScan());
64
64
  }, [dispatch]);
@@ -1 +1 @@
1
- {"version":3,"file":"use-scan-activator.js","sourceRoot":"","sources":["../../src/hooks/use-scan-activator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAC,MAAM,OAAO,CAAC;AAChE,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAC,UAAU,EAAE,WAAW,EAAC,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAC,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAE3C,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,aAAqB,EACrB,aAAsB,KAAK,EAC3B,EAAE;IACF,MAAM,EAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,cAAc,EAAC,GACpD,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAC3C,MAAM,EACJ,MAAM,EAAE,YAAY,EACpB,gBAAgB,EAChB,OAAO,EAAE,aAAa,GACvB,GAAG,yBAAyB,CAAC,aAAa,CAAC,CAAC;IAE7C,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1D,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAC/C,gBAAgB,CAAC,YAAY,KAAK,oBAAoB,CAAC,CACxD,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,IAAI,aAAa,EAAE,CAAC;YAClB,aAAa,EAAE,CAAC;QAClB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,gBAAgB,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EAAE;QACD,aAAa;QACb,aAAa;QACb,UAAU;QACV,gBAAgB;QAChB,YAAY;KACb,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,IAAI,aAAa,EAAE,CAAC;YAClB,cAAc,EAAE,CAAC;QACnB,CAAC;aAAM,CAAC;YACN,aAAa,EAAE,CAAC;QAClB,CAAC;IACH,CAAC,EAAE,CAAC,aAAa,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC;IAEnD,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAC,OAAO,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC,EACxC,CAAC,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CACjC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,aAAqB,EAAE,EAAE;IACjE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;QAC9B,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;IACtC,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,EAAE;QAC/B,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,aAAqB,EAAE,EAAE;IACjE,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC/C,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;QACxC,QAAQ,CAAC,uBAAuB,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,EAAE;QACrC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACnC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,OAAO,OAAO,CACZ,GAAG,EAAE,CAAC,CAAC,EAAC,MAAM,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,aAAa,EAAC,CAAC,EACxE,CAAC,YAAY,EAAE,gBAAgB,EAAE,aAAa,CAAC,CAChD,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"use-scan-activator.js","sourceRoot":"","sources":["../../src/hooks/use-scan-activator.ts"],"names":[],"mappings":"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"}
@@ -81,6 +81,23 @@
81
81
  "Base_Connection_SessionNameAlreadyExist": "Session name already exists",
82
82
  "Base_Connection_WrongPasswordOrUserName": "Wrong username or password",
83
83
  "Base_Connection_InvalidUrl": "Invalid url",
84
+ "Auth_MFA_Title": "Two-factor authentication",
85
+ "Auth_MFA_VerificationCode": "Verification code",
86
+ "Auth_MFA_TOTP_Description": "Enter the code from your authentication app.",
87
+ "Auth_MFA_TOTP_Placeholder": "Authenticator code",
88
+ "Auth_MFA_TOTP_Method": "Authenticator app",
89
+ "Auth_MFA_EMAIL_Description": "Enter the code from verification email.",
90
+ "Auth_MFA_EMAIL_Placeholder": "Email code",
91
+ "Auth_MFA_EMAIL_Method": "Email verification",
92
+ "Auth_MFA_Verify": "Verify",
93
+ "Auth_MFA_ResendEmail": "Resend email",
94
+ "Auth_MFA_ResendEmailIn": "Resend email in {{count}}s",
95
+ "Auth_MFA_OtherOptions": "Other options",
96
+ "Auth_MFA_BackToLogin": "Back to login",
97
+ "Auth_MFA_InvalidCode": "Invalid verification code",
98
+ "Auth_MFA_GenericError": "Sorry, something went wrong. Please try again later.",
99
+ "Auth_MFA_SessionLost": "Your session has expired. Please log in again.",
100
+ "Auth_MFA_EmailSent": "A verification code has been sent by email.",
84
101
  "Base_Connection_CreateSession": "Create a session",
85
102
  "Base_Connection_EditSession": "Edit session",
86
103
  "Base_Connection_DefaultSession": "Default session ?",
@@ -81,6 +81,23 @@
81
81
  "Base_Connection_SessionNameAlreadyExist": "Ce nom de session existe déjà",
82
82
  "Base_Connection_WrongPasswordOrUserName": "Mauvais nom d'utilisateur ou mot de passe",
83
83
  "Base_Connection_InvalidUrl": "Url non valide",
84
+ "Auth_MFA_Title": "Authentification à deux facteurs",
85
+ "Auth_MFA_VerificationCode": "Code de vérification",
86
+ "Auth_MFA_TOTP_Description": "Saisissez le code de votre application d'authentification.",
87
+ "Auth_MFA_TOTP_Placeholder": "Code de l'application",
88
+ "Auth_MFA_TOTP_Method": "Application d'authentification",
89
+ "Auth_MFA_EMAIL_Description": "Saisissez le code reçu par e-mail.",
90
+ "Auth_MFA_EMAIL_Placeholder": "Code reçu par e-mail",
91
+ "Auth_MFA_EMAIL_Method": "Vérification par e-mail",
92
+ "Auth_MFA_Verify": "Vérifier",
93
+ "Auth_MFA_ResendEmail": "Renvoyer l'e-mail",
94
+ "Auth_MFA_ResendEmailIn": "Renvoyer l'e-mail dans {{count}}s",
95
+ "Auth_MFA_OtherOptions": "Autres options",
96
+ "Auth_MFA_BackToLogin": "Retour à la connexion",
97
+ "Auth_MFA_InvalidCode": "Code de vérification invalide",
98
+ "Auth_MFA_GenericError": "Une erreur est survenue. Veuillez réessayer plus tard.",
99
+ "Auth_MFA_SessionLost": "Votre session a expiré. Veuillez vous reconnecter.",
100
+ "Auth_MFA_EmailSent": "Un code de vérification a été envoyé par e-mail.",
84
101
  "Base_Connection_CreateSession": "Créer une session",
85
102
  "Base_Connection_EditSession": "Editer la session",
86
103
  "Base_Connection_DefaultSession": "Session par défaut ?",
@@ -5,7 +5,7 @@ interface DrawerContentProps {
5
5
  state: DrawerState;
6
6
  modules: Module[];
7
7
  navigation: NavigationObject;
8
- onModuleClick: (name: string) => void;
8
+ onModuleClick: (name?: string) => void;
9
9
  onRefresh: () => void;
10
10
  versionCheckConfig: any;
11
11
  }
@@ -15,7 +15,7 @@
15
15
  * You should have received a copy of the GNU Affero General Public License
16
16
  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17
17
  */
18
- import React, { useRef, useMemo, useEffect, useCallback } from 'react';
18
+ import React, { useRef, useMemo, useEffect, useCallback, useState } from 'react';
19
19
  import { StyleSheet, View, Animated, ScrollView } from 'react-native';
20
20
  import { SafeAreaView } from 'react-native-safe-area-context';
21
21
  import { CommonActions, DrawerActions } from '@react-navigation/native';
@@ -24,7 +24,7 @@ import { authModule } from '../../auth';
24
24
  import { PopupApplicationInformation, PopupMinimalRequiredVersion, } from '../../components';
25
25
  import { useOutdatedVersion } from '../../hooks';
26
26
  import { useActiveModule } from '../providers';
27
- import { moduleHasMenus, numberOfModules, getDefaultMenuKey, hasSubMenus, } from '../helpers';
27
+ import { getModuleOfMenu, moduleHasMenus, numberOfModules, getDefaultMenuKey, hasSubMenus, } from '../helpers';
28
28
  import { AuthMenu, Menu, MenuIconButton, MenuTitle } from './menu';
29
29
  const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, versionCheckConfig, }) => {
30
30
  const Colors = useThemeColor();
@@ -36,7 +36,7 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
36
36
  ?.filter(_module => _module.menus)
37
37
  ?.flatMap(_module => {
38
38
  const result = [];
39
- for (const [key, menu] of Object.entries(_module.menus)) {
39
+ for (const [key, menu] of Object.entries(_module.menus ?? {})) {
40
40
  result.push(key);
41
41
  if (hasSubMenus(menu)) {
42
42
  result.push(...Object.keys(menu.subMenus));
@@ -50,11 +50,14 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
50
50
  const styles = useMemo(() => getStyles(Colors), [Colors]);
51
51
  const secondaryMenusLeft = useRef(new Animated.Value(0)).current;
52
52
  const { activeModule } = useActiveModule();
53
- const innerMenuIsVisible = useMemo(() => activeModule.name !== authModule.name, [activeModule]);
53
+ const [innerMenuDisabled, setInnerMenuDisabled] = useState(false);
54
+ const innerMenuIsVisible = useMemo(() => !innerMenuDisabled && activeModule.name !== authModule.name, [activeModule.name, innerMenuDisabled]);
54
55
  const drawerModules = useMemo(() => modules
55
56
  .filter(moduleHasMenus)
56
57
  .filter(_module => _module.name !== authModule.name), [modules]);
57
58
  const externalMenuIsVisible = useMemo(() => numberOfModules(drawerModules) > 1, [drawerModules]);
59
+ const navigatedModule = useMemo(() => getModuleOfMenu(modules, state.routes?.[state.index]?.name), [modules, state.routes, state.index]);
60
+ const showRestoreNavigatedModule = useMemo(() => externalMenuIsVisible && navigatedModule != null, [externalMenuIsVisible, navigatedModule]);
58
61
  const toggleSecondaryMenu = useCallback(() => {
59
62
  const openConfig = { toValue: 0, duration: 300 };
60
63
  const closeConfig = { toValue: 100, duration: 0 };
@@ -73,6 +76,7 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
73
76
  })
74
77
  : 0, [externalMenuIsVisible, secondaryMenusLeft]);
75
78
  const handleModuleClick = (_module) => {
79
+ setInnerMenuDisabled(false);
76
80
  onModuleClick(_module.name);
77
81
  const defaultMenuKey = getDefaultMenuKey(_module);
78
82
  if (defaultMenuKey) {
@@ -85,7 +89,7 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
85
89
  return;
86
90
  }
87
91
  const focused = state.routes.indexOf(route) === state.index &&
88
- Object.keys(activeModule.menus).includes(route.name);
92
+ Object.keys(activeModule.menus ?? {}).includes(route.name);
89
93
  const event = navigation.emit({
90
94
  type: 'drawerItemPress',
91
95
  target: route.key,
@@ -111,7 +115,7 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
111
115
  {externalMenuIsVisible && (<View style={styles.iconsContainer}>
112
116
  <ScrollView showsVerticalScrollIndicator={false} contentContainerStyle={styles.scrollView}>
113
117
  {drawerModules.map(_module => (<View style={styles.globalContainer} key={_module.name}>
114
- <MenuIconButton style={styles.menuItemContainer} icon={_module.icon} subtitle={_module.subtitle} disabled={_module.disabled} isActive={_module.name === activeModule?.name} onPress={() => handleModuleClick(_module)} compatibility={_module.compatibilityAOS}/>
118
+ <MenuIconButton style={styles.menuItemContainer} icon={_module.icon ?? ''} subtitle={_module.subtitle} disabled={_module.disabled} isActive={_module.name === activeModule?.name} onPress={() => handleModuleClick(_module)} compatibility={_module.compatibilityAOS}/>
115
119
  {!innerMenuIsVisible && (<MenuTitle module={_module} onPress={() => handleModuleClick(_module)}/>)}
116
120
  </View>))}
117
121
  </ScrollView>
@@ -123,7 +127,12 @@ const DrawerContent = ({ state, modules, navigation, onModuleClick, onRefresh, v
123
127
  <Animated.View style={[styles.secondaryMenusContainer, { left: innerMenuPosition }]}>
124
128
  <Menu activeModule={externalMenuIsVisible ? activeModule : drawerModules[0]} state={state} navigation={navigation} authMenu={<AuthMenu onPress={handleModuleClick} isVisible={!externalMenuIsVisible}/>} onItemClick={externalMenuIsVisible
125
129
  ? () => { }
126
- : () => onModuleClick(drawerModules[0]?.name)} compatibility={externalMenuIsVisible ? null : drawerModules[0].compatibilityAOS}/>
130
+ : () => onModuleClick(drawerModules[0]?.name)} compatibility={externalMenuIsVisible
131
+ ? undefined
132
+ : drawerModules[0].compatibilityAOS} showClose={showRestoreNavigatedModule} onClose={() => {
133
+ setInnerMenuDisabled(true);
134
+ onModuleClick(navigatedModule?.name);
135
+ }}/>
127
136
  </Animated.View>
128
137
  </View>
129
138
  </SafeAreaView>);
@@ -1 +1 @@
1
- {"version":3,"file":"DrawerContent.js","sourceRoot":"","sources":["../../../src/navigator/components/DrawerContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DrawerContent.js","sourceRoot":"","sources":["../../../src/navigator/components/DrawerContent.tsx"],"names":[],"mappings":"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"}
@@ -7,7 +7,9 @@ interface MenuProps {
7
7
  authMenu?: React.ReactNode;
8
8
  activeModule: Module;
9
9
  onItemClick: () => void;
10
- compatibility: Compatibility;
10
+ compatibility?: Compatibility;
11
+ showClose?: boolean;
12
+ onClose?: () => void;
11
13
  }
12
- declare const Menu: ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, }: MenuProps) => React.JSX.Element;
14
+ declare const Menu: ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, showClose, onClose, }: MenuProps) => React.JSX.Element;
13
15
  export default Menu;
@@ -17,18 +17,20 @@
17
17
  */
18
18
  import React, { useMemo } from 'react';
19
19
  import { View, StyleSheet, ScrollView } from 'react-native';
20
- import { Text, WarningCard } from '@axelor/aos-mobile-ui';
20
+ import { Icon, Text, useThemeColor, WarningCard } from '@axelor/aos-mobile-ui';
21
21
  import { useTranslator } from '../../../i18n';
22
22
  import { getCompatibilityError, getMenuTitle, isMenuIncompatible, } from '../../helpers';
23
23
  import MenuItemList from './MenuItemList';
24
- const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, }) => {
24
+ const Menu = ({ state, navigation, authMenu, activeModule, onItemClick, compatibility, showClose = false, onClose, }) => {
25
25
  const I18n = useTranslator();
26
+ const Colors = useThemeColor();
26
27
  const title = useMemo(() => getMenuTitle(activeModule, I18n), [I18n, activeModule]);
27
28
  const compatibilityError = useMemo(() => isMenuIncompatible(compatibility), [compatibility]);
28
29
  return (<View style={styles.menuContainer}>
29
30
  <ScrollView contentContainerStyle={styles.moduleMenuContainer} showsVerticalScrollIndicator={false}>
30
31
  <View style={styles.menuTitleContainer}>
31
32
  <Text style={styles.menuTitle}>{title}</Text>
33
+ {showClose && (<Icon name="x-lg" size={20} color={Colors.secondaryColor_dark.background} touchable onPress={onClose}/>)}
32
34
  </View>
33
35
  {compatibilityError && (<WarningCard errorMessage={getCompatibilityError(compatibility, I18n)}/>)}
34
36
  <MenuItemList state={state} navigation={navigation} activeModule={activeModule} onItemClick={onItemClick} disabled={compatibilityError}/>
@@ -47,10 +49,14 @@ const styles = StyleSheet.create({
47
49
  paddingVertical: 8,
48
50
  },
49
51
  menuTitleContainer: {
52
+ flexDirection: 'row',
53
+ justifyContent: 'space-between',
54
+ alignItems: 'center',
50
55
  paddingHorizontal: 16,
51
56
  marginBottom: 8,
52
57
  },
53
58
  menuTitle: {
59
+ flexShrink: 1,
54
60
  fontSize: 21,
55
61
  fontWeight: 'bold',
56
62
  },