@tap-payments/auth-jsconnect 2.10.14-beta → 2.10.14-development

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 (189) hide show
  1. package/README.md +2 -2
  2. package/build/@types/app.d.ts +4 -2
  3. package/build/@types/app.js +2 -0
  4. package/build/@types/form.d.ts +6 -0
  5. package/build/@types/index.d.ts +1 -0
  6. package/build/@types/index.js +1 -0
  7. package/build/@types/terminal.d.ts +116 -0
  8. package/build/@types/terminal.js +1 -0
  9. package/build/api/auth.d.ts +10 -1
  10. package/build/api/entity.d.ts +3 -0
  11. package/build/api/index.d.ts +7 -1
  12. package/build/api/index.js +3 -1
  13. package/build/api/lead.d.ts +1 -0
  14. package/build/api/terminal.d.ts +28 -0
  15. package/build/api/terminal.js +45 -0
  16. package/build/app/rootReducer.d.ts +1 -0
  17. package/build/app/rootReducer.js +3 -1
  18. package/build/app/store.d.ts +2 -0
  19. package/build/assets/currencies/AEDSymbol.d.ts +7 -0
  20. package/build/assets/currencies/AEDSymbol.js +28 -0
  21. package/build/assets/currencies/index.d.ts +2 -2
  22. package/build/assets/currencies/index.js +2 -2
  23. package/build/assets/currencies/utils.js +3 -1
  24. package/build/assets/locales/ar.json +47 -11
  25. package/build/assets/locales/en.json +50 -14
  26. package/build/components/DeviceCard/DeviceCard.d.ts +18 -0
  27. package/build/components/DeviceCard/DeviceCard.js +103 -0
  28. package/build/components/DeviceCard/index.d.ts +3 -0
  29. package/build/components/DeviceCard/index.js +2 -0
  30. package/build/components/OTPTimer/OTPTimer.d.ts +2 -1
  31. package/build/components/OTPTimer/OTPTimer.js +4 -4
  32. package/build/components/TextWithCurrency/TextWithCurrency.js +1 -1
  33. package/build/components/Tooltip/Tooltip.js +1 -1
  34. package/build/constants/api.d.ts +0 -1
  35. package/build/constants/api.js +0 -2
  36. package/build/constants/app.d.ts +13 -3
  37. package/build/constants/app.js +127 -6
  38. package/build/constants/assets.d.ts +11 -6
  39. package/build/constants/assets.js +118 -107
  40. package/build/constants/dummy.js +27 -20
  41. package/build/constants/flows.d.ts +15 -0
  42. package/build/constants/flows.js +15 -0
  43. package/build/constants/validation.d.ts +2 -0
  44. package/build/constants/validation.js +2 -0
  45. package/build/features/app/auth/authStore.d.ts +24 -5
  46. package/build/features/app/auth/authStore.js +143 -77
  47. package/build/features/app/business/businessStore.js +5 -4
  48. package/build/features/app/connectExpress/connectExpressStore.js +14 -10
  49. package/build/features/app/individual/individualStore.js +0 -1
  50. package/build/features/app/tax/taxStore.js +1 -1
  51. package/build/features/app/terminal/terminalStore.d.ts +110 -0
  52. package/build/features/app/terminal/terminalStore.js +676 -0
  53. package/build/features/auth/screens/AuthenticationList/AuthenticationList.js +14 -8
  54. package/build/features/auth/screens/AuthenticationList/UnifiedNumber.d.ts +35 -0
  55. package/build/features/auth/screens/AuthenticationList/UnifiedNumber.js +80 -0
  56. package/build/features/auth/screens/AuthenticationList/validation.d.ts +22 -0
  57. package/build/features/auth/screens/AuthenticationList/validation.js +77 -1
  58. package/build/features/auth/screens/OTP/OTP.d.ts +13 -2
  59. package/build/features/auth/screens/OTP/OTP.js +15 -3
  60. package/build/features/auth/screens/OTP/index.d.ts +1 -2
  61. package/build/features/auth/screens/Passcode/Passcode.d.ts +16 -0
  62. package/build/features/auth/screens/Passcode/Passcode.js +82 -0
  63. package/build/features/auth/screens/Passcode/PasscodeInput.d.ts +6 -0
  64. package/build/features/auth/screens/Passcode/PasscodeInput.js +42 -0
  65. package/build/features/auth/screens/Passcode/index.d.ts +2 -0
  66. package/build/features/auth/screens/Passcode/index.js +2 -0
  67. package/build/features/auth/screens/Passcode/validation.d.ts +8 -0
  68. package/build/features/auth/screens/Passcode/validation.js +4 -0
  69. package/build/features/business/screens/BusinessType/BusinessType.js +12 -2
  70. package/build/features/business/screens/BusinessType/LicenseList.js +4 -1
  71. package/build/features/business/screens/BusinessType/UnifiedNumber.d.ts +35 -0
  72. package/build/features/business/screens/BusinessType/UnifiedNumber.js +84 -0
  73. package/build/features/business/screens/BusinessType/validation.d.ts +6 -3
  74. package/build/features/business/screens/BusinessType/validation.js +31 -7
  75. package/build/features/connectExpress/screens/AuthenticationList/AuthenticationList.js +14 -9
  76. package/build/features/connectExpress/screens/AuthenticationList/UnifiedNumber.d.ts +35 -0
  77. package/build/features/connectExpress/screens/AuthenticationList/UnifiedNumber.js +80 -0
  78. package/build/features/connectExpress/screens/AuthenticationList/validation.d.ts +22 -0
  79. package/build/features/connectExpress/screens/AuthenticationList/validation.js +77 -1
  80. package/build/features/connectExpress/screens/CollectBusinessInfo/CollectBusinessInfo.js +1 -0
  81. package/build/features/connectExpress/screens/CollectBusinessInfo/LicenseList.js +13 -1
  82. package/build/features/connectExpress/screens/CollectBusinessInfo/UnifiedNumber.d.ts +36 -0
  83. package/build/features/connectExpress/screens/CollectBusinessInfo/UnifiedNumber.js +81 -0
  84. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.d.ts +21 -0
  85. package/build/features/connectExpress/screens/CollectBusinessInfo/validation.js +44 -13
  86. package/build/features/entity/screens/EntityName/EntityName.js +2 -1
  87. package/build/features/entity/screens/EntityName/UnifiedNumber.js +2 -2
  88. package/build/features/entity/screens/EntityName/validation.d.ts +3 -3
  89. package/build/features/entity/screens/EntityName/validation.js +14 -3
  90. package/build/features/featuresScreens.d.ts +1 -0
  91. package/build/features/featuresScreens.js +72 -0
  92. package/build/features/shared/Button/Button.js +2 -3
  93. package/build/features/shared/Button/FlowsButtons.js +1 -1
  94. package/build/features/shared/PushNotification/PushNotification.d.ts +11 -0
  95. package/build/features/shared/PushNotification/PushNotification.js +34 -0
  96. package/build/features/shared/PushNotification/index.d.ts +2 -0
  97. package/build/features/shared/PushNotification/index.js +2 -0
  98. package/build/features/shared/SuccessFlowButtons/SuccessFlowButtons.js +2 -2
  99. package/build/features/shared/SuccessScreen/SuccessScreen.d.ts +3 -1
  100. package/build/features/shared/SuccessScreen/SuccessScreen.js +2 -2
  101. package/build/features/terminal/Terminal.d.ts +14 -0
  102. package/build/features/terminal/Terminal.js +95 -0
  103. package/build/features/terminal/index.d.ts +1 -0
  104. package/build/features/terminal/index.js +1 -0
  105. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.d.ts +3 -0
  106. package/build/features/terminal/screens/LinkNewTerminal/LinkNewTerminal.js +69 -0
  107. package/build/features/terminal/screens/LinkNewTerminal/index.d.ts +2 -0
  108. package/build/features/terminal/screens/LinkNewTerminal/index.js +2 -0
  109. package/build/features/terminal/screens/LinkNewTerminal/styles.d.ts +10 -0
  110. package/build/features/terminal/screens/LinkNewTerminal/styles.js +28 -0
  111. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.d.ts +3 -0
  112. package/build/features/terminal/screens/LinkedSuccess/LinkedSuccess.js +51 -0
  113. package/build/features/terminal/screens/LinkedSuccess/index.d.ts +2 -0
  114. package/build/features/terminal/screens/LinkedSuccess/index.js +2 -0
  115. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.d.ts +3 -0
  116. package/build/features/terminal/screens/LinkedTerminalInfo/LinkedTerminalInfo.js +55 -0
  117. package/build/features/terminal/screens/LinkedTerminalInfo/index.d.ts +2 -0
  118. package/build/features/terminal/screens/LinkedTerminalInfo/index.js +2 -0
  119. package/build/features/terminal/screens/Loading/Loading.d.ts +4 -0
  120. package/build/features/terminal/screens/Loading/Loading.js +10 -0
  121. package/build/features/terminal/screens/Loading/index.d.ts +2 -0
  122. package/build/features/terminal/screens/Loading/index.js +2 -0
  123. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.d.ts +3 -0
  124. package/build/features/terminal/screens/NoTerminalDeviceLinked/NoTerminalDeviceLinked.js +56 -0
  125. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.d.ts +2 -0
  126. package/build/features/terminal/screens/NoTerminalDeviceLinked/index.js +2 -0
  127. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.d.ts +36 -0
  128. package/build/features/terminal/screens/NoTerminalDeviceLinked/styles.js +34 -0
  129. package/build/features/terminal/screens/OperatorError/OperatorError.d.ts +5 -0
  130. package/build/features/terminal/screens/OperatorError/OperatorError.js +9 -0
  131. package/build/features/terminal/screens/OperatorError/index.d.ts +2 -0
  132. package/build/features/terminal/screens/OperatorError/index.js +2 -0
  133. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.d.ts +3 -0
  134. package/build/features/terminal/screens/ResetPasswordSuccess/ResetPasswordSuccess.js +21 -0
  135. package/build/features/terminal/screens/ResetPasswordSuccess/index.d.ts +2 -0
  136. package/build/features/terminal/screens/ResetPasswordSuccess/index.js +2 -0
  137. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.d.ts +3 -0
  138. package/build/features/terminal/screens/SuccessWithFlowButtons/SuccessWithFlowButtons.js +31 -0
  139. package/build/features/terminal/screens/SuccessWithFlowButtons/index.d.ts +2 -0
  140. package/build/features/terminal/screens/SuccessWithFlowButtons/index.js +2 -0
  141. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.d.ts +9 -0
  142. package/build/features/terminal/screens/TerminalDeviceList/DeviceList.js +20 -0
  143. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.d.ts +3 -0
  144. package/build/features/terminal/screens/TerminalDeviceList/TerminalDeviceList.js +153 -0
  145. package/build/features/terminal/screens/TerminalDeviceList/index.d.ts +2 -0
  146. package/build/features/terminal/screens/TerminalDeviceList/index.js +2 -0
  147. package/build/features/terminal/screens/TerminalDeviceList/styles.d.ts +9 -0
  148. package/build/features/terminal/screens/TerminalDeviceList/styles.js +13 -0
  149. package/build/features/terminal/screens/TerminalListPage/TerminalListPage.d.ts +3 -0
  150. package/build/features/terminal/screens/TerminalListPage/TerminalListPage.js +47 -0
  151. package/build/features/terminal/screens/TerminalListPage/index.d.ts +2 -0
  152. package/build/features/terminal/screens/TerminalListPage/index.js +2 -0
  153. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.d.ts +3 -0
  154. package/build/features/terminal/screens/UnlinkedSuccess/UnlinkedSuccess.js +53 -0
  155. package/build/features/terminal/screens/UnlinkedSuccess/index.d.ts +2 -0
  156. package/build/features/terminal/screens/UnlinkedSuccess/index.js +2 -0
  157. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.d.ts +3 -0
  158. package/build/features/terminal/screens/UnlinkedTerminalInfo/UnlinkedTerminalInfo.js +98 -0
  159. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.d.ts +2 -0
  160. package/build/features/terminal/screens/UnlinkedTerminalInfo/index.js +2 -0
  161. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.d.ts +26 -0
  162. package/build/features/terminal/screens/UnlinkedTerminalInfo/styles.js +30 -0
  163. package/build/features/terminal/screens/Verify/OTPInput.d.ts +7 -0
  164. package/build/features/terminal/screens/Verify/OTPInput.js +51 -0
  165. package/build/features/terminal/screens/Verify/Verify.d.ts +5 -0
  166. package/build/features/terminal/screens/Verify/Verify.js +85 -0
  167. package/build/features/terminal/screens/Verify/index.d.ts +2 -0
  168. package/build/features/terminal/screens/Verify/index.js +2 -0
  169. package/build/features/terminal/screens/Verify/validation.d.ts +8 -0
  170. package/build/features/terminal/screens/Verify/validation.js +4 -0
  171. package/build/features/terminal/screens/shared/Header.d.ts +10 -0
  172. package/build/features/terminal/screens/shared/Header.js +30 -0
  173. package/build/features/terminal/screens/shared/TerminalList.d.ts +11 -0
  174. package/build/features/terminal/screens/shared/TerminalList.js +25 -0
  175. package/build/features/terminal/screens/shared/index.d.ts +5 -0
  176. package/build/features/terminal/screens/shared/index.js +5 -0
  177. package/build/features/terminal/screens/shared/styles.d.ts +196 -0
  178. package/build/features/terminal/screens/shared/styles.js +155 -0
  179. package/build/features/terminal/screens/shared/utils.d.ts +7 -0
  180. package/build/features/terminal/screens/shared/utils.js +24 -0
  181. package/build/hooks/useAppDispatch.d.ts +1 -0
  182. package/build/index.d.ts +3 -2
  183. package/build/index.js +4 -2
  184. package/build/theme/palette.js +12 -0
  185. package/build/theme/typography.js +4 -0
  186. package/build/utils/common.js +4 -4
  187. package/build/utils/string.d.ts +2 -1
  188. package/build/utils/string.js +10 -1
  189. package/package.json +2 -2
package/README.md CHANGED
@@ -77,8 +77,8 @@ const App = () => {
77
77
  <meta charset="utf-8" />
78
78
  <meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no,shrink-to-fit=no" />
79
79
  <title>Auth-JsConnect</title>
80
- <script src="https://auth-jsconnect.b-cdn.net/build-2.0.0/main.js"></script>
81
- <link href="https://auth-jsconnect.b-cdn.net/build-2.0.0/main.css" rel="stylesheet" />
80
+ <script src="https://cdn.tap.company/tap-sdks/auth-jsconnect/build-2.0.0/main.js"></script>
81
+ <link href="https://cdn.tap.company/tap-sdks/auth-jsconnect/build-2.0.0/main.css" rel="stylesheet" />
82
82
  </head>
83
83
  <body>
84
84
  <div id="root"></div>
@@ -338,7 +338,8 @@ export declare enum FlowsTypes {
338
338
  OTP = "otp",
339
339
  BRAND = "brand",
340
340
  BOARD = "board",
341
- kyc = "kyc"
341
+ kyc = "kyc",
342
+ TERMINAL = "terminal"
342
343
  }
343
344
  export declare type FlowInfo = {
344
345
  name: string;
@@ -361,7 +362,8 @@ export declare enum AuthTypeNumber {
361
362
  MOBILE_OTP = 2,
362
363
  PASSWORD = 1,
363
364
  MIGRATION = 10,
364
- RESET_PASSWORD = 7
365
+ RESET_PASSWORD = 7,
366
+ PASSCODE = 11
365
367
  }
366
368
  export declare enum MigrationStatus {
367
369
  IN_PROGRESS = "IN_PROGRESS",
@@ -35,6 +35,7 @@ export var FlowsTypes;
35
35
  FlowsTypes["BRAND"] = "brand";
36
36
  FlowsTypes["BOARD"] = "board";
37
37
  FlowsTypes["kyc"] = "kyc";
38
+ FlowsTypes["TERMINAL"] = "terminal";
38
39
  })(FlowsTypes || (FlowsTypes = {}));
39
40
  export var AuthForType;
40
41
  (function (AuthForType) {
@@ -56,6 +57,7 @@ export var AuthTypeNumber;
56
57
  AuthTypeNumber[AuthTypeNumber["PASSWORD"] = 1] = "PASSWORD";
57
58
  AuthTypeNumber[AuthTypeNumber["MIGRATION"] = 10] = "MIGRATION";
58
59
  AuthTypeNumber[AuthTypeNumber["RESET_PASSWORD"] = 7] = "RESET_PASSWORD";
60
+ AuthTypeNumber[AuthTypeNumber["PASSCODE"] = 11] = "PASSCODE";
59
61
  })(AuthTypeNumber || (AuthTypeNumber = {}));
60
62
  export var MigrationStatus;
61
63
  (function (MigrationStatus) {
@@ -10,6 +10,9 @@ export declare type EmailFormValues = {
10
10
  export declare type OTPFormValues = {
11
11
  otp: string;
12
12
  };
13
+ export declare type PasscodeFormValues = {
14
+ passcode: string;
15
+ };
13
16
  export declare type PasswordFormValues = {
14
17
  password: string;
15
18
  };
@@ -58,6 +61,7 @@ export declare type BrandActivitiesFormValues = {
58
61
  };
59
62
  export declare type BusinessTypeFormValues = {
60
63
  licenseNumber: string;
64
+ unifiedNumber: string;
61
65
  entityLegalName?: string;
62
66
  selectedEntityLicense?: EntityLicense;
63
67
  selectedLicense?: License;
@@ -147,6 +151,7 @@ export declare type EntityCapitalFormValues = {
147
151
  export declare type BusinessDataFormValues = {
148
152
  brandName: string;
149
153
  licenseNumber: string;
154
+ unifiedNumber: string;
150
155
  selectedLicense?: License;
151
156
  termAndConditionChecked?: boolean;
152
157
  };
@@ -154,6 +159,7 @@ export declare type AuthenticationListFormValues = {
154
159
  brandInfo?: BrandInfo;
155
160
  entityInfo?: EntityLicenseAuth;
156
161
  licenseNumber?: string;
162
+ unifiedNumber?: string;
157
163
  legalName?: string;
158
164
  licenseType?: string;
159
165
  };
@@ -4,3 +4,4 @@ export * from './app';
4
4
  export * from './form';
5
5
  export * from './user';
6
6
  export * from './config';
7
+ export * from './terminal';
@@ -4,3 +4,4 @@ export * from './app';
4
4
  export * from './form';
5
5
  export * from './user';
6
6
  export * from './config';
7
+ export * from './terminal';
@@ -0,0 +1,116 @@
1
+ declare type Name = {
2
+ en: string;
3
+ };
4
+ export interface TerminalDeviceInfo {
5
+ id: string;
6
+ status: string;
7
+ object?: string;
8
+ live_mode: boolean;
9
+ api_version?: string;
10
+ feature_version?: string;
11
+ serial_number: string;
12
+ linked: boolean;
13
+ display_name: string;
14
+ model: {
15
+ id: string;
16
+ status: string;
17
+ object?: string;
18
+ live_mode: boolean;
19
+ api_version?: string;
20
+ feature_version?: string;
21
+ model: string;
22
+ type: string;
23
+ name: {
24
+ text: string;
25
+ lang: string;
26
+ }[];
27
+ image: string;
28
+ image_url: string;
29
+ };
30
+ merchant?: {
31
+ id: string;
32
+ brand: {
33
+ id: string;
34
+ name: {
35
+ text: string;
36
+ lang: string;
37
+ }[];
38
+ logo: string;
39
+ };
40
+ };
41
+ terminal?: {
42
+ id: string;
43
+ legacy_id: string;
44
+ name: Name;
45
+ device: {
46
+ id: string;
47
+ created: string;
48
+ display_name: string;
49
+ };
50
+ };
51
+ platform?: {
52
+ id: string;
53
+ segment: string;
54
+ brand?: {
55
+ id: string;
56
+ name: {
57
+ text: string;
58
+ lang: string;
59
+ }[];
60
+ logo: string;
61
+ };
62
+ };
63
+ }
64
+ export interface TerminalInfo {
65
+ acceptance_status?: string;
66
+ acceptance_status_control?: string;
67
+ api_version?: string;
68
+ authorizes?: {
69
+ status: string;
70
+ status_message: string;
71
+ };
72
+ brand?: {
73
+ id: string;
74
+ };
75
+ charges?: {
76
+ status: string;
77
+ status_message: string;
78
+ };
79
+ feature_version?: string;
80
+ id: string;
81
+ legacy_id: string;
82
+ live_mode?: boolean;
83
+ merchant: {
84
+ base_currency?: string;
85
+ country?: string;
86
+ id: string;
87
+ };
88
+ name: Name;
89
+ platform?: {
90
+ brand: {
91
+ id: string;
92
+ logo: string;
93
+ name: {
94
+ text: string;
95
+ lang: string;
96
+ }[];
97
+ };
98
+ id: string;
99
+ segment: string;
100
+ };
101
+ object?: string;
102
+ refunds?: {
103
+ status: string;
104
+ status_message: string;
105
+ };
106
+ virtual?: boolean;
107
+ wallet?: {
108
+ id: string;
109
+ };
110
+ device?: {
111
+ id: string;
112
+ created: string;
113
+ display_name: string;
114
+ };
115
+ }
116
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -17,10 +17,18 @@ export declare type CivilID = {
17
17
  identification_id: string;
18
18
  country_code: string;
19
19
  };
20
+ export declare type TerminalCredential = {
21
+ terminal: {
22
+ id: string;
23
+ terminal_device?: {
24
+ id: string;
25
+ };
26
+ };
27
+ };
20
28
  export declare type CreateAuthBody = {
21
29
  country: string;
22
30
  scope: string;
23
- user_credentail: MobileCredential | EmailCredential | IDCredential | CivilID;
31
+ user_credentail: MobileCredential | EmailCredential | IDCredential | CivilID | TerminalCredential;
24
32
  auth_type?: number;
25
33
  email_url?: string;
26
34
  sign_in?: boolean;
@@ -31,6 +39,7 @@ export declare type CreateAuthBody = {
31
39
  lead_id?: string;
32
40
  board_id?: string;
33
41
  user_id?: string;
42
+ login?: boolean;
34
43
  };
35
44
  export declare type CreateNafathAuthBody = {
36
45
  country: string;
@@ -133,6 +133,9 @@ export declare type CreateEntityBody = {
133
133
  license: {
134
134
  number: string;
135
135
  type: string;
136
+ additional_info?: {
137
+ unified_number: string;
138
+ };
136
139
  };
137
140
  country: string;
138
141
  is_licensed?: boolean;
@@ -13,6 +13,7 @@ import { RemoveBrandActivity } from './brand';
13
13
  import { UploadFileBody } from './file';
14
14
  import { DocumentUpdateBody, DocumentInfo, DocumentBody } from './document';
15
15
  import { InitBody } from './init';
16
+ import { GenerateAuthLinkNewTerminalProps, UnlinkTerminalDeviceProps, LinkTerminalDeviceProps } from './terminal';
16
17
  declare const API: {
17
18
  locationService: {
18
19
  getIP: () => Promise<any>;
@@ -164,7 +165,12 @@ declare const API: {
164
165
  initService: {
165
166
  getInitialData: (body: InitBody) => Promise<any>;
166
167
  };
168
+ terminalService: {
169
+ retrieveTerminalDeviceList: (merchants: string[]) => Promise<any>;
170
+ unlinkTerminalDevice: ({ deviceId, ...payload }: UnlinkTerminalDeviceProps) => Promise<any>;
171
+ retrieveTerminalList: (merchantIds: string[]) => Promise<any>;
172
+ };
167
173
  };
168
- export type { ValidateOperatorBody, CreateAuthBody, ExpressCreateAccountBody, VerifyAuthBody, CreateLeadBody, UpdateLeadBody, LeadVerifyBody, LeadOTPVerifyBody, CheckEmailBody, CheckBrandBody, LeadIdentityUpdateBody, EntityInfoBody, CreateAccountBody, EntityBankUpdateBody, CreatePasswordBody, BrandListBody, VerifyOperationAuthBody, ResetPasswordVerifyAuthBody, UpdateBoardBody, UpdateBrandBody, DataElementBody, UploadFileBody, UpdateEntityBody, DocumentUpdateBody, DocumentInfo, VerifyAuthExpressOTPBody, UpdateIndividualBody, UpdateEntityActivityBody, UpdateEntityCapitalBody, BankDocumentInfo, GetUserListBody, GetIndividualListBody, RequestEmailBody, DocumentBody, UpdateEntityAOAFileBody, InitBody, RemoveBrandActivity, RemoveEntityActivity, UpdateIndividualWithTypeBody, UpdateMultipleIndividualBody, ExpressLeadVerifyBody, ConfirmBody, ConfigBody, MerchantListBody, CreateEntityBody, CreateNafathAuthBody, GetUserListSegmentBody, CreateKYCAuthBody };
174
+ export type { ValidateOperatorBody, CreateAuthBody, ExpressCreateAccountBody, VerifyAuthBody, CreateLeadBody, UpdateLeadBody, LeadVerifyBody, LeadOTPVerifyBody, CheckEmailBody, CheckBrandBody, LeadIdentityUpdateBody, EntityInfoBody, CreateAccountBody, EntityBankUpdateBody, CreatePasswordBody, BrandListBody, VerifyOperationAuthBody, ResetPasswordVerifyAuthBody, UpdateBoardBody, UpdateBrandBody, DataElementBody, UploadFileBody, UpdateEntityBody, DocumentUpdateBody, DocumentInfo, VerifyAuthExpressOTPBody, UpdateIndividualBody, UpdateEntityActivityBody, UpdateEntityCapitalBody, BankDocumentInfo, GetUserListBody, GetIndividualListBody, RequestEmailBody, DocumentBody, UpdateEntityAOAFileBody, InitBody, RemoveBrandActivity, RemoveEntityActivity, UpdateIndividualWithTypeBody, UpdateMultipleIndividualBody, ExpressLeadVerifyBody, ConfirmBody, ConfigBody, MerchantListBody, CreateEntityBody, CreateNafathAuthBody, GetUserListSegmentBody, CreateKYCAuthBody, GenerateAuthLinkNewTerminalProps, UnlinkTerminalDeviceProps, LinkTerminalDeviceProps };
169
175
  export { setAxiosGlobalHeaders, removeAxiosGlobalHeaders, axiosInstance, getAxiosHeaders };
170
176
  export default API;
@@ -16,6 +16,7 @@ import { brandService } from './brand';
16
16
  import { fileService } from './file';
17
17
  import { documentService } from './document';
18
18
  import { initService } from './init';
19
+ import { terminalService } from './terminal';
19
20
  var API = {
20
21
  locationService: locationService,
21
22
  operatorService: operatorService,
@@ -33,7 +34,8 @@ var API = {
33
34
  brandService: brandService,
34
35
  fileService: fileService,
35
36
  documentService: documentService,
36
- initService: initService
37
+ initService: initService,
38
+ terminalService: terminalService
37
39
  };
38
40
  export { setAxiosGlobalHeaders, removeAxiosGlobalHeaders, axiosInstance, getAxiosHeaders };
39
41
  export default API;
@@ -49,6 +49,7 @@ export declare type UpdateLeadBody = {
49
49
  entity?: {
50
50
  id: string;
51
51
  };
52
+ unified_number?: string;
52
53
  name?: Name;
53
54
  contact?: Contact;
54
55
  send_invite?: boolean;
@@ -0,0 +1,28 @@
1
+ export interface GenerateAuthLinkNewTerminalProps {
2
+ merchant: {
3
+ id: string;
4
+ terminal: {
5
+ id: string;
6
+ };
7
+ };
8
+ }
9
+ export interface UnlinkTerminalDeviceProps {
10
+ deviceId: string;
11
+ initiator: string;
12
+ terminal: {
13
+ id: string;
14
+ };
15
+ merchant: {
16
+ id: string;
17
+ };
18
+ }
19
+ export interface LinkTerminalDeviceProps {
20
+ id: string;
21
+ action: string;
22
+ }
23
+ declare const terminalService: {
24
+ retrieveTerminalDeviceList: (merchants: string[]) => Promise<any>;
25
+ unlinkTerminalDevice: ({ deviceId, ...payload }: UnlinkTerminalDeviceProps) => Promise<any>;
26
+ retrieveTerminalList: (merchantIds: string[]) => Promise<any>;
27
+ };
28
+ export { terminalService };
@@ -0,0 +1,45 @@
1
+ var __rest = (this && this.__rest) || function (s, e) {
2
+ var t = {};
3
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
4
+ t[p] = s[p];
5
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
7
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
8
+ t[p[i]] = s[p[i]];
9
+ }
10
+ return t;
11
+ };
12
+ import { ENDPOINT_PATHS } from '../constants';
13
+ import { httpClient } from './axios';
14
+ var retrieveTerminalDeviceList = function (merchants) {
15
+ return httpClient({
16
+ method: 'post',
17
+ url: "".concat(ENDPOINT_PATHS.TERMINAL, "/device/list"),
18
+ data: {
19
+ merchants: merchants
20
+ }
21
+ }).catch(function () { });
22
+ };
23
+ var retrieveTerminalList = function (merchantIds) {
24
+ return httpClient({
25
+ method: 'post',
26
+ url: "".concat(ENDPOINT_PATHS.TERMINAL, "/list"),
27
+ data: {
28
+ merchant_id: merchantIds
29
+ }
30
+ });
31
+ };
32
+ var unlinkTerminalDevice = function (_a) {
33
+ var deviceId = _a.deviceId, payload = __rest(_a, ["deviceId"]);
34
+ return httpClient({
35
+ method: 'put',
36
+ url: "".concat(ENDPOINT_PATHS.TERMINAL, "/device/").concat(deviceId, "/unlink"),
37
+ data: payload
38
+ });
39
+ };
40
+ var terminalService = {
41
+ retrieveTerminalDeviceList: retrieveTerminalDeviceList,
42
+ unlinkTerminalDevice: unlinkTerminalDevice,
43
+ retrieveTerminalList: retrieveTerminalList
44
+ };
45
+ export { terminalService };
@@ -13,5 +13,6 @@ declare const rootReducer: {
13
13
  auth: import("redux").Reducer<import("../features/app/auth/authStore").AuthState, import("redux").AnyAction>;
14
14
  board: import("redux").Reducer<import("../features/app/board/boardStore").BoardState, import("redux").AnyAction>;
15
15
  kyc: import("redux").Reducer<import("../features/app/kyc/kycStore").KYCDataState, import("redux").AnyAction>;
16
+ terminal: import("redux").Reducer<import("../features/app/terminal/terminalStore").TerminalDataState, import("redux").AnyAction>;
16
17
  };
17
18
  export default rootReducer;
@@ -12,6 +12,7 @@ import connectExpress from '../features/app/connectExpress/connectExpressStore';
12
12
  import board from '../features/app/board/boardStore';
13
13
  import auth from '../features/app/auth/authStore';
14
14
  import kyc from '../features/app/kyc/kycStore';
15
+ import terminal from '../features/app/terminal/terminalStore';
15
16
  var rootReducer = {
16
17
  settings: settings,
17
18
  connect: connect,
@@ -26,6 +27,7 @@ var rootReducer = {
26
27
  connectExpress: connectExpress,
27
28
  auth: auth,
28
29
  board: board,
29
- kyc: kyc
30
+ kyc: kyc,
31
+ terminal: terminal
30
32
  };
31
33
  export default rootReducer;
@@ -14,6 +14,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
14
14
  auth: import("../features/app/auth/authStore").AuthState;
15
15
  board: import("../features/app/board/boardStore").BoardState;
16
16
  kyc: import("../features/app/kyc/kycStore").KYCDataState;
17
+ terminal: import("../features/app/terminal/terminalStore").TerminalDataState;
17
18
  }, import("redux").AnyAction, import("@reduxjs/toolkit").MiddlewareArray<[import("@reduxjs/toolkit").ThunkMiddleware<{
18
19
  settings: import("./settings").SettingsState;
19
20
  connect: import("../features/app/connect/connectStore").ConnectState;
@@ -29,6 +30,7 @@ export declare const store: import("@reduxjs/toolkit").EnhancedStore<{
29
30
  auth: import("../features/app/auth/authStore").AuthState;
30
31
  board: import("../features/app/board/boardStore").BoardState;
31
32
  kyc: import("../features/app/kyc/kycStore").KYCDataState;
33
+ terminal: import("../features/app/terminal/terminalStore").TerminalDataState;
32
34
  }, import("redux").AnyAction, undefined>]>>;
33
35
  export declare type AppDispatch = typeof store.dispatch;
34
36
  export declare type RootState = ReturnType<typeof store.getState>;
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ declare type AEDSymbolProps = React.SVGProps<SVGSVGElement> & {
3
+ width?: number;
4
+ height?: number;
5
+ };
6
+ declare const AEDSymbol: ({ height, ...svgProps }: AEDSymbolProps) => JSX.Element;
7
+ export default AEDSymbol;
@@ -0,0 +1,28 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ var AEDSymbol = function (_a) {
25
+ var _b = _a.height, height = _b === void 0 ? 10 : _b, svgProps = __rest(_a, ["height"]);
26
+ return (_jsx("span", __assign({ style: { padding: '0 2px' } }, { children: _jsx("svg", __assign({ xmlns: 'http://www.w3.org/2000/svg', height: height, fill: 'currentColor', viewBox: '0 0 344.84 299.91' }, svgProps, { children: _jsx("path", { d: 'M342.14,140.96l2.7,2.54v-7.72c0-17-11.92-30.84-26.56-30.84h-23.41C278.49,36.7,222.69,0,139.68,0c-52.86,0-59.65,0-109.71,0,0,0,15.03,12.63,15.03,52.4v52.58h-27.68c-5.38,0-10.43-2.08-14.61-6.01l-2.7-2.54v7.72c0,17.01,11.92,30.84,26.56,30.84h18.44s0,29.99,0,29.99h-27.68c-5.38,0-10.43-2.07-14.61-6.01l-2.7-2.54v7.71c0,17,11.92,30.82,26.56,30.82h18.44s0,54.89,0,54.89c0,38.65-15.03,50.06-15.03,50.06h109.71c85.62,0,139.64-36.96,155.38-104.98h32.46c5.38,0,10.43,2.07,14.61,6l2.7,2.54v-7.71c0-17-11.92-30.83-26.56-30.83h-18.9c.32-4.88.49-9.87.49-15s-.18-10.11-.51-14.99h28.17c5.37,0,10.43,2.07,14.61,6.01ZM89.96,15.01h45.86c61.7,0,97.44,27.33,108.1,89.94l-153.96.02V15.01ZM136.21,284.93h-46.26v-89.98l153.87-.02c-9.97,56.66-42.07,88.38-107.61,90ZM247.34,149.96c0,5.13-.11,10.13-.34,14.99l-157.04.02v-29.99l157.05-.02c.22,4.84.33,9.83.33,15Z' }) })) })));
27
+ };
28
+ export default AEDSymbol;
@@ -1,2 +1,2 @@
1
- import SARSymbol from './SARSymbol';
2
- export { SARSymbol };
1
+ import { CURRENCY_ICON } from './utils';
2
+ export { CURRENCY_ICON };
@@ -1,2 +1,2 @@
1
- import SARSymbol from './SARSymbol';
2
- export { SARSymbol };
1
+ import { CURRENCY_ICON } from './utils';
2
+ export { CURRENCY_ICON };
@@ -1,4 +1,6 @@
1
1
  import SARSymbol from './SARSymbol';
2
+ import AEDSymbol from './AEDSymbol';
2
3
  export var CURRENCY_ICON = {
3
- SA: SARSymbol
4
+ SA: SARSymbol,
5
+ AE: AEDSymbol
4
6
  };
@@ -135,15 +135,15 @@
135
135
  "call_center_placeholder": "رقم هاتف خدمة الإتصال",
136
136
  "cancel": "إلغاء",
137
137
  "capital_paid_hint": "00000",
138
- "capital_paid_label": "رأس المال المدفوع ({{currency}})",
139
138
  "capital_paid_input_label": "رأس المال المدفوع",
139
+ "capital_paid_label": "رأس المال المدفوع ({{currency}})",
140
140
  "capital_paid_required": "Please Enter paid amount",
141
141
  "capital_share_count_hint": "00000",
142
142
  "capital_share_count_label": "عدد اسهم رأس المال",
143
143
  "capital_share_count_required": "Please Enter share count",
144
144
  "capital_share_value_hint": "00000",
145
- "capital_share_value_label": "قيمة السهم ({{currency}})",
146
145
  "capital_share_value_input_label": "قيمة السهم",
146
+ "capital_share_value_label": "قيمة السهم ({{currency}})",
147
147
  "capital_share_value_required": "Please Enter share value",
148
148
  "category": "الفئة",
149
149
  "category_name": "اسم الفئة",
@@ -209,6 +209,7 @@
209
209
  "create_new_entity": "Create Entity",
210
210
  "creating_account_description": "هذه العملية تحتاج وقت...",
211
211
  "creating_account_title": "جارى انشاء الحساب",
212
+ "current_mobile_number": "رقم الجوال الحالي",
212
213
  "customer_base_name_hint": "اختر محليًا إذا كنت تبيع فقط في البلد الذي تقيم فيه. اختر إقليميًا إذا كنت تبيع أيضًا لدول مجلس التعاون الخليجي الأخرى. اختر عالمياً إذا كنت تبيع إلى أي دولة خارج دول مجلس التعاون الخليجي.",
213
214
  "data_loading_desc": "الرجاء الانتظار أثناء تحضير البيانات",
214
215
  "data_loading_title": "تحضير البيانات",
@@ -281,8 +282,8 @@
281
282
  "entity_type": "نوع الكيان",
282
283
  "entity_type_required": "Please select at least one entity type",
283
284
  "expected_customers_to_serve": "عدد العملاء شهريا",
284
- "expected_sales_monthly": "البيع المتوقع في الشهر؟ ({{currency}})",
285
285
  "expected_sale_per_month": "البيع المتوقع في الشهر؟",
286
+ "expected_sales_monthly": "البيع المتوقع في الشهر؟ ({{currency}})",
286
287
  "expected_sales_yearly": "ما هي المبيعات المتوقعة لعملك شهريًا؟",
287
288
  "expected_served_monthly": "عدد العملاء شهريا",
288
289
  "expiry_date": "تاريخ الإنتهاء",
@@ -378,7 +379,6 @@
378
379
  "kyc_terms_title": "وثائق قانونية",
379
380
  "kyc_token_invalid": "الرجاء مراجعة رابط المرسل اليك",
380
381
  "kyc_users_description": "يرجى اختيار رقم هوية الممثل المعتمد للموافقة عليه مع {{provider}}",
381
- "kyc_privacy_policy": "سياسة الخصوصية",
382
382
  "language": "English",
383
383
  "license_info": "معلومات الترخيص",
384
384
  "license_name_hint": "Enter legal name",
@@ -403,11 +403,14 @@
403
403
  "mobile_app_label": "تطبيقات هاتف",
404
404
  "mobile_button_label": "المتابعة عن طريق رقم الجوال",
405
405
  "mobile_number_description": "ابدأ فورًا باستخدام رقم هاتفك المحمول",
406
+ "mobile_ownership_title": "يرجى تحديث رقم هاتفك المحمول المسجل ليتوافق مع هويتك.",
406
407
  "month": "الشهر",
408
+ "monthly_income": "ما هو دخلك الشهري؟ ",
407
409
  "nafath_button_label": "المتابعة عن طريق نفاذ",
408
410
  "nafath_verification_description_check": "يرجى الدخول إلى تطبيق نفاذ الخاص بك وإدخال رقم الطلب أعلاه للمصادقة.",
409
411
  "nafath_verification_description_error": "حاول مرة اخرى",
410
412
  "nafath_verification_description_wait": "يرجى الدخول إلى تطبيق نفاذ الخاص بك وإدخال رقم الطلب أعلاه للمصادقة.",
413
+ "nafath_verification_failed": "تأكد من الموافقة على الطلب المرسل عبر تطبيق نفاذ، يرجى محاولة إرسال طلب جديد.",
411
414
  "nafath_verification_redirection_message": "سيتم إعادة توجيهك الآن",
412
415
  "nafath_verification_title_check": "المصادقة مع تطبيق نفاذ",
413
416
  "nafath_verification_title_error": "لا يمكننا تأكيد المصادقة الخاصة بك",
@@ -417,6 +420,7 @@
417
420
  "national_id_placeholder": "0000000000",
418
421
  "national_id_title": "الهوية الوطنية",
419
422
  "nationality_label": "الجنسية",
423
+ "new_mobile_number": "رقم الجوال الجديد",
420
424
  "next": "التالي",
421
425
  "no": "لا",
422
426
  "no_results": "لا نتائج",
@@ -486,7 +490,6 @@
486
490
  "please_choose_is_authorized": "الرجاء التأكيد إذا كنت أنت المستخدم المصرح له",
487
491
  "please_choose_relative_pep": "هل أنت أو أحد أقاربك شخص مكشوف علنًا (PEP)",
488
492
  "please_enter_actual_income": "ما هو دخلك الشهري ({{currency}}) ؟ ",
489
- "monthly_income": "ما هو دخلك الشهري؟ ",
490
493
  "please_enter_employer_name": "يرجى إدخال اسم منشأه العمل الخاص بك",
491
494
  "please_try_again_after_few_minutes": "يمكنك محاولة تسجيل الدخول مرة أخرى بعد {{minutes}} دقيقة",
492
495
  "powered_by": "بواسطة",
@@ -526,8 +529,8 @@
526
529
  "share_count_hint": "0",
527
530
  "share_count_label": "عدد الأسهم",
528
531
  "share_value_hint": "0000",
529
- "share_value_label": "قيمة السهم ({{currency}})",
530
532
  "share_value_input_label": "قيمة السهم",
533
+ "share_value_label": "قيمة السهم ({{currency}})",
531
534
  "sign_up": "Sign up",
532
535
  "signed_up": "تسجيل الدخول",
533
536
  "signin_email_label": "البريد الألكتروني",
@@ -600,6 +603,34 @@
600
603
  "tax_success_header_title": "اكتملت الضريبة",
601
604
  "tax_success_title": "تم تحديث المعلومات الضريبية الخاصة بعملك التجاري.",
602
605
  "team_size_title": "حجم الفريق",
606
+ "terminal_device_id": "رقم تعريف جهاز الكاشير",
607
+ "terminal_devices": "{{name}} أجهزة",
608
+ "terminal_flow_pending": "أجهزة نقاط الدفع",
609
+ "terminal_go_to_board": "الانتقال إلى اللوحة",
610
+ "terminal_id": "رقم تعريف جهاز نقطة الدفع",
611
+ "terminal_link": "ربط",
612
+ "terminal_link_terminal": "ربط جهاز نقطة الدفع",
613
+ "terminal_linked": "تمَّ الربط",
614
+ "terminal_linked_success": "تم ربط جهاز نقطة الدفع {{device}} الخاص بك بنجاح!",
615
+ "terminal_linked_with": "مرتبط مع",
616
+ "terminal_manage_terminals": "إدارة أجهزة نقاط الدفع",
617
+ "terminal_new_request_will_send": "لتأكيد الربط تمَّ إرسال طلب ربط جديد إلى تطبيق الـ Terminal من تاب.",
618
+ "terminal_no_terminal_linked": "لا يوجد أجهزة نقاط دفع مرتبطة",
619
+ "terminal_no_terminal_linked_description": "سيتم عرض أجهزة نقاط الدفع المرتبطة هنا عند توفّرها",
620
+ "terminal_or_use_code": "أو استخدم الرمز",
621
+ "terminal_paired_with": "مقترن بـ",
622
+ "terminal_push_notification_link_new_terminal_failed": "حدث خطأ. يرجى المحاولة لاحقاً",
623
+ "terminal_qr_code_description": "افتح تطبيق تاب على جهاز نقطة الدفع، ثم اختر جهاز نقطة الدفع المرتبط من قائمة المزيد.",
624
+ "terminal_request_denied": "تمَّ رفض طلب ربط جهاز نقطة الدفع {{device }}",
625
+ "terminal_request_will_send": "لتأكيد الربط سيتم إرسال طلب إلى تطبيق الـ Terminal من تاب.",
626
+ "terminal_resend_request": "إعادة إرسال الطلب",
627
+ "terminal_select_device": "اختر جهاز نقطة الدفع",
628
+ "terminal_send_link_request": "إرسال طلب الربط",
629
+ "terminal_serial_number": "الرقم التسلسلي",
630
+ "terminal_unlink": "إلغاء الربط",
631
+ "terminal_unlinked": "غير مرتبط",
632
+ "terminal_unlinked_success": "تم إلغاء ربط جهاز نقطة الدفع {{device}} الخاص بك بنجاح!",
633
+ "terminal_with": "مع",
603
634
  "terms_and_conditions_link_title": "الشروط والاحكام",
604
635
  "the nin format is not valid": "هل يمكنك التحقق من رقم الهوية الذي تم إدخاله.",
605
636
  "title_article": "مذكرة التأسيس",
@@ -620,6 +651,8 @@
620
651
  "unified_number_hint": "000000",
621
652
  "unified_number_label": "الرقم الموحد",
622
653
  "unified_number_required": "Unified Number Required",
654
+ "update_later": "سأقوم بالتحديث لاحقاً",
655
+ "update_mobile_number": "تحديث رقم الجوال",
623
656
  "uploaded_file": "file",
624
657
  "vat_id": "رقم الضريبي المميز",
625
658
  "vat_id_placeholder": "00000000",
@@ -639,9 +672,12 @@
639
672
  "yes": "نعم",
640
673
  "your_brand_details": "تفاصيل علامتك التجارية",
641
674
  "يرجى التحقق من اسم تطبيق ابل": "",
642
- "mobile_ownership_title": "لتفعيل استلام الايداعات، يرجى تحديث رقم هاتفك المحمول المسجل ليتوافق مع هويتك.",
643
- "current_mobile_number": "رقم الجوال الحالي",
644
- "new_mobile_number": "رقم الجوال الجديد",
645
- "update_mobile_number": "تحديث رقم الجوال",
646
- "update_later": "سأقوم بالتحديث لاحقاً"
675
+ "v1_company_unified_number_label": "Company unified number",
676
+ "v1_company_unified_number_hint": "700xxxxxxx",
677
+ "v1_add_unified_number": "Add a Unified Number",
678
+ "v1_company_unified_number_description": "You can find your Company Unified Number in the top-left corner of your Company Registration Certificate.",
679
+ "passcode_title": "الرجاء إدخال رمز المرور الخاص بك",
680
+ "sign_in_with_otp": "تسجيل الدخول باستخدام رمز التحقق (OTP)",
681
+ "passcode_required": "الرجاء إدخال رمز المرور المطلوب",
682
+ "login_with_passcode": "تسجيل الدخول باستخدام رمز المرور"
647
683
  }