@oxyhq/services 5.13.0 → 5.13.1

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 (204) hide show
  1. package/lib/commonjs/core/OxyServices.js +7 -7
  2. package/lib/commonjs/core/OxyServices.js.map +1 -1
  3. package/lib/commonjs/i18n/index.js +37 -1
  4. package/lib/commonjs/i18n/index.js.map +1 -1
  5. package/lib/commonjs/i18n/locales/ar-SA.json +128 -0
  6. package/lib/commonjs/i18n/locales/ca-ES.json +128 -0
  7. package/lib/commonjs/i18n/locales/de-DE.json +128 -0
  8. package/lib/commonjs/i18n/locales/en-US.json +85 -12
  9. package/lib/commonjs/i18n/locales/es-ES.json +58 -6
  10. package/lib/commonjs/i18n/locales/fr-FR.json +128 -0
  11. package/lib/commonjs/i18n/locales/it-IT.json +128 -0
  12. package/lib/commonjs/i18n/locales/ja-JP.json +127 -0
  13. package/lib/commonjs/i18n/locales/ko-KR.json +128 -0
  14. package/lib/commonjs/i18n/locales/pt-PT.json +128 -0
  15. package/lib/commonjs/i18n/locales/zh-CN.json +128 -0
  16. package/lib/commonjs/ui/components/FontLoader.js +22 -42
  17. package/lib/commonjs/ui/components/FontLoader.js.map +1 -1
  18. package/lib/commonjs/ui/components/OxyProvider.js +5 -8
  19. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  20. package/lib/commonjs/ui/components/StepBasedScreen.js +64 -44
  21. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
  22. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +14 -35
  23. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
  24. package/lib/commonjs/ui/components/internal/PinInput.js +2 -2
  25. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
  26. package/lib/commonjs/ui/context/OxyContext.js +434 -321
  27. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  28. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  29. package/lib/commonjs/ui/screens/SignInScreen.js +43 -39
  30. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
  31. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +139 -125
  32. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  33. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +2 -4
  34. package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  35. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +45 -25
  36. package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  37. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +88 -53
  38. package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  39. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +79 -58
  40. package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  41. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +61 -52
  42. package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  43. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +220 -31
  44. package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  45. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +77 -50
  46. package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +1 -1
  47. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +527 -66
  48. package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  49. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +55 -30
  50. package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  51. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +64 -46
  52. package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  53. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +84 -146
  54. package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  55. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +113 -34
  56. package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  57. package/lib/commonjs/ui/stores/authStore.js +16 -20
  58. package/lib/commonjs/ui/stores/authStore.js.map +1 -1
  59. package/lib/commonjs/ui/styles/authStyles.js +2 -1
  60. package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
  61. package/lib/commonjs/ui/styles/index.js +11 -0
  62. package/lib/commonjs/ui/styles/index.js.map +1 -1
  63. package/lib/commonjs/ui/styles/spacing.js +51 -0
  64. package/lib/commonjs/ui/styles/spacing.js.map +1 -0
  65. package/lib/commonjs/utils/validationUtils.js +1 -1
  66. package/lib/module/core/OxyServices.js +7 -7
  67. package/lib/module/core/OxyServices.js.map +1 -1
  68. package/lib/module/i18n/index.js +37 -1
  69. package/lib/module/i18n/index.js.map +1 -1
  70. package/lib/module/i18n/locales/ar-SA.json +128 -0
  71. package/lib/module/i18n/locales/ca-ES.json +128 -0
  72. package/lib/module/i18n/locales/de-DE.json +128 -0
  73. package/lib/module/i18n/locales/en-US.json +85 -12
  74. package/lib/module/i18n/locales/es-ES.json +58 -6
  75. package/lib/module/i18n/locales/fr-FR.json +128 -0
  76. package/lib/module/i18n/locales/it-IT.json +128 -0
  77. package/lib/module/i18n/locales/ja-JP.json +127 -0
  78. package/lib/module/i18n/locales/ko-KR.json +128 -0
  79. package/lib/module/i18n/locales/pt-PT.json +128 -0
  80. package/lib/module/i18n/locales/zh-CN.json +128 -0
  81. package/lib/module/ui/components/FontLoader.js +23 -43
  82. package/lib/module/ui/components/FontLoader.js.map +1 -1
  83. package/lib/module/ui/components/OxyProvider.js +6 -8
  84. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  85. package/lib/module/ui/components/StepBasedScreen.js +65 -45
  86. package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
  87. package/lib/module/ui/components/internal/GroupedPillButtons.js +14 -35
  88. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
  89. package/lib/module/ui/components/internal/PinInput.js +2 -2
  90. package/lib/module/ui/components/internal/PinInput.js.map +1 -1
  91. package/lib/module/ui/context/OxyContext.js +434 -321
  92. package/lib/module/ui/context/OxyContext.js.map +1 -1
  93. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  94. package/lib/module/ui/screens/SignInScreen.js +44 -40
  95. package/lib/module/ui/screens/SignInScreen.js.map +1 -1
  96. package/lib/module/ui/screens/WelcomeNewUserScreen.js +138 -126
  97. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
  98. package/lib/module/ui/screens/internal/SignInUsernameStep.js +2 -4
  99. package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
  100. package/lib/module/ui/screens/steps/RecoverRequestStep.js +45 -25
  101. package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -1
  102. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +89 -54
  103. package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -1
  104. package/lib/module/ui/screens/steps/RecoverSuccessStep.js +80 -59
  105. package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
  106. package/lib/module/ui/screens/steps/RecoverVerifyStep.js +62 -53
  107. package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
  108. package/lib/module/ui/screens/steps/SignInPasswordStep.js +221 -32
  109. package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -1
  110. package/lib/module/ui/screens/steps/SignInTotpStep.js +78 -51
  111. package/lib/module/ui/screens/steps/SignInTotpStep.js.map +1 -1
  112. package/lib/module/ui/screens/steps/SignInUsernameStep.js +530 -68
  113. package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -1
  114. package/lib/module/ui/screens/steps/SignUpIdentityStep.js +55 -30
  115. package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
  116. package/lib/module/ui/screens/steps/SignUpSecurityStep.js +65 -47
  117. package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
  118. package/lib/module/ui/screens/steps/SignUpSummaryStep.js +84 -146
  119. package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
  120. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +114 -35
  121. package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
  122. package/lib/module/ui/stores/authStore.js +16 -20
  123. package/lib/module/ui/stores/authStore.js.map +1 -1
  124. package/lib/module/ui/styles/authStyles.js +2 -1
  125. package/lib/module/ui/styles/authStyles.js.map +1 -1
  126. package/lib/module/ui/styles/index.js +1 -0
  127. package/lib/module/ui/styles/index.js.map +1 -1
  128. package/lib/module/ui/styles/spacing.js +48 -0
  129. package/lib/module/ui/styles/spacing.js.map +1 -0
  130. package/lib/module/utils/validationUtils.js +1 -1
  131. package/lib/typescript/core/OxyServices.d.ts +4 -2
  132. package/lib/typescript/core/OxyServices.d.ts.map +1 -1
  133. package/lib/typescript/i18n/index.d.ts.map +1 -1
  134. package/lib/typescript/ui/components/FontLoader.d.ts +3 -3
  135. package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -1
  136. package/lib/typescript/ui/components/OxyProvider.d.ts +2 -2
  137. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
  138. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
  139. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
  140. package/lib/typescript/ui/context/OxyContext.d.ts +1 -0
  141. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
  142. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
  143. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
  144. package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -1
  145. package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +1 -1
  146. package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -1
  147. package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -1
  148. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +2 -0
  149. package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -1
  150. package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +1 -1
  151. package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -1
  152. package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -1
  153. package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -1
  154. package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -1
  155. package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -1
  156. package/lib/typescript/ui/stores/authStore.d.ts +7 -3
  157. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
  158. package/lib/typescript/ui/styles/authStyles.d.ts +1 -0
  159. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
  160. package/lib/typescript/ui/styles/index.d.ts +1 -0
  161. package/lib/typescript/ui/styles/index.d.ts.map +1 -1
  162. package/lib/typescript/ui/styles/spacing.d.ts +43 -0
  163. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -0
  164. package/lib/typescript/utils/validationUtils.d.ts +1 -1
  165. package/package.json +1 -1
  166. package/src/core/OxyServices.ts +10 -8
  167. package/src/i18n/index.ts +36 -0
  168. package/src/i18n/locales/ar-SA.json +128 -0
  169. package/src/i18n/locales/ca-ES.json +128 -0
  170. package/src/i18n/locales/de-DE.json +128 -0
  171. package/src/i18n/locales/en-US.json +85 -12
  172. package/src/i18n/locales/es-ES.json +58 -6
  173. package/src/i18n/locales/fr-FR.json +128 -0
  174. package/src/i18n/locales/it-IT.json +128 -0
  175. package/src/i18n/locales/ja-JP.json +127 -0
  176. package/src/i18n/locales/ko-KR.json +128 -0
  177. package/src/i18n/locales/pt-PT.json +128 -0
  178. package/src/i18n/locales/zh-CN.json +128 -0
  179. package/src/ui/components/FontLoader.tsx +17 -37
  180. package/src/ui/components/OxyProvider.tsx +14 -13
  181. package/src/ui/components/StepBasedScreen.tsx +66 -43
  182. package/src/ui/components/internal/GroupedPillButtons.tsx +15 -31
  183. package/src/ui/components/internal/PinInput.tsx +2 -2
  184. package/src/ui/context/OxyContext.tsx +404 -285
  185. package/src/ui/screens/FileManagementScreen.tsx +15 -15
  186. package/src/ui/screens/SignInScreen.tsx +59 -36
  187. package/src/ui/screens/WelcomeNewUserScreen.tsx +102 -91
  188. package/src/ui/screens/internal/SignInUsernameStep.tsx +1 -1
  189. package/src/ui/screens/steps/RecoverRequestStep.tsx +34 -24
  190. package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +65 -36
  191. package/src/ui/screens/steps/RecoverSuccessStep.tsx +71 -47
  192. package/src/ui/screens/steps/RecoverVerifyStep.tsx +60 -50
  193. package/src/ui/screens/steps/SignInPasswordStep.tsx +191 -29
  194. package/src/ui/screens/steps/SignInTotpStep.tsx +68 -34
  195. package/src/ui/screens/steps/SignInUsernameStep.tsx +586 -57
  196. package/src/ui/screens/steps/SignUpIdentityStep.tsx +49 -35
  197. package/src/ui/screens/steps/SignUpSecurityStep.tsx +56 -39
  198. package/src/ui/screens/steps/SignUpSummaryStep.tsx +99 -89
  199. package/src/ui/screens/steps/SignUpWelcomeStep.tsx +88 -20
  200. package/src/ui/stores/authStore.ts +15 -19
  201. package/src/ui/styles/authStyles.ts +2 -1
  202. package/src/ui/styles/index.ts +1 -0
  203. package/src/ui/styles/spacing.ts +46 -0
  204. package/src/utils/validationUtils.ts +1 -1
@@ -1516,7 +1516,7 @@ export class OxyServices {
1516
1516
  async getDeveloperApps(): Promise<any[]> {
1517
1517
  try {
1518
1518
  const res = await this.client.get('/api/developer/apps');
1519
- return res.data;
1519
+ return res.data.apps || [];
1520
1520
  } catch (error) {
1521
1521
  throw this.handleError(error);
1522
1522
  }
@@ -1528,12 +1528,13 @@ export class OxyServices {
1528
1528
  async createDeveloperApp(data: {
1529
1529
  name: string;
1530
1530
  description?: string;
1531
- webhookUrl?: string;
1531
+ webhookUrl: string;
1532
+ devWebhookUrl?: string;
1532
1533
  scopes?: string[];
1533
1534
  }): Promise<any> {
1534
1535
  try {
1535
1536
  const res = await this.client.post('/api/developer/apps', data);
1536
- return res.data;
1537
+ return res.data.app;
1537
1538
  } catch (error) {
1538
1539
  throw this.handleError(error);
1539
1540
  }
@@ -1545,7 +1546,7 @@ export class OxyServices {
1545
1546
  async getDeveloperApp(appId: string): Promise<any> {
1546
1547
  try {
1547
1548
  const res = await this.client.get(`/api/developer/apps/${appId}`);
1548
- return res.data;
1549
+ return res.data.app;
1549
1550
  } catch (error) {
1550
1551
  throw this.handleError(error);
1551
1552
  }
@@ -1558,11 +1559,12 @@ export class OxyServices {
1558
1559
  name?: string;
1559
1560
  description?: string;
1560
1561
  webhookUrl?: string;
1562
+ devWebhookUrl?: string;
1561
1563
  scopes?: string[];
1562
1564
  }): Promise<any> {
1563
1565
  try {
1564
1566
  const res = await this.client.patch(`/api/developer/apps/${appId}`, data);
1565
- return res.data;
1567
+ return res.data.app;
1566
1568
  } catch (error) {
1567
1569
  throw this.handleError(error);
1568
1570
  }
@@ -1702,7 +1704,7 @@ export class OxyServices {
1702
1704
  */
1703
1705
  async getDeviceSessions(sessionId: string): Promise<any[]> {
1704
1706
  try {
1705
- const res = await this.client.get(`/api/devices/sessions/${sessionId}`);
1707
+ const res = await this.client.get(`/api/session/device/sessions/${sessionId}`);
1706
1708
  return res.data;
1707
1709
  } catch (error) {
1708
1710
  throw this.handleError(error);
@@ -1718,7 +1720,7 @@ export class OxyServices {
1718
1720
  if (deviceId) params.append('deviceId', deviceId);
1719
1721
  if (excludeCurrent) params.append('excludeCurrent', 'true');
1720
1722
 
1721
- const res = await this.client.post(`/api/devices/logout-all/${sessionId}?${params.toString()}`);
1723
+ const res = await this.client.post(`/api/session/device/logout-all/${sessionId}?${params.toString()}`);
1722
1724
  return res.data;
1723
1725
  } catch (error) {
1724
1726
  throw this.handleError(error);
@@ -1730,7 +1732,7 @@ export class OxyServices {
1730
1732
  */
1731
1733
  async updateDeviceName(sessionId: string, deviceName: string): Promise<any> {
1732
1734
  try {
1733
- const res = await this.client.put(`/api/devices/name/${sessionId}`, { deviceName });
1735
+ const res = await this.client.put(`/api/session/device/name/${sessionId}`, { deviceName });
1734
1736
  return res.data;
1735
1737
  } catch (error) {
1736
1738
  throw this.handleError(error);
package/src/i18n/index.ts CHANGED
@@ -3,6 +3,24 @@
3
3
  const enUS = require('./locales/en-US.json') as Record<string, any>;
4
4
  // eslint-disable-next-line @typescript-eslint/no-var-requires
5
5
  const esES = require('./locales/es-ES.json') as Record<string, any>;
6
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
7
+ const caES = require('./locales/ca-ES.json') as Record<string, any>;
8
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
9
+ const frFR = require('./locales/fr-FR.json') as Record<string, any>;
10
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
11
+ const deDE = require('./locales/de-DE.json') as Record<string, any>;
12
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
13
+ const itIT = require('./locales/it-IT.json') as Record<string, any>;
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const ptPT = require('./locales/pt-PT.json') as Record<string, any>;
16
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
17
+ const jaJP = require('./locales/ja-JP.json') as Record<string, any>;
18
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
19
+ const koKR = require('./locales/ko-KR.json') as Record<string, any>;
20
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
21
+ const zhCN = require('./locales/zh-CN.json') as Record<string, any>;
22
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
23
+ const arSA = require('./locales/ar-SA.json') as Record<string, any>;
6
24
 
7
25
  export type LocaleDict = Record<string, any>;
8
26
 
@@ -11,6 +29,24 @@ const DICTS: Record<string, LocaleDict> = {
11
29
  'en-US': enUS as LocaleDict,
12
30
  'es': esES as LocaleDict,
13
31
  'es-ES': esES as LocaleDict,
32
+ 'ca': caES as LocaleDict,
33
+ 'ca-ES': caES as LocaleDict,
34
+ 'fr': frFR as LocaleDict,
35
+ 'fr-FR': frFR as LocaleDict,
36
+ 'de': deDE as LocaleDict,
37
+ 'de-DE': deDE as LocaleDict,
38
+ 'it': itIT as LocaleDict,
39
+ 'it-IT': itIT as LocaleDict,
40
+ 'pt': ptPT as LocaleDict,
41
+ 'pt-PT': ptPT as LocaleDict,
42
+ 'ja': jaJP as LocaleDict,
43
+ 'ja-JP': jaJP as LocaleDict,
44
+ 'ko': koKR as LocaleDict,
45
+ 'ko-KR': koKR as LocaleDict,
46
+ 'zh': zhCN as LocaleDict,
47
+ 'zh-CN': zhCN as LocaleDict,
48
+ 'ar': arSA as LocaleDict,
49
+ 'ar-SA': arSA as LocaleDict,
14
50
  };
15
51
 
16
52
  const FALLBACK = 'en-US';
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "تسجيل الدخول",
4
+ "subtitle": "سجل الدخول للمتابعة",
5
+ "addAccountTitle": "إضافة حساب آخر",
6
+ "addAccountSubtitle": "تسجيل الدخول بحساب آخر",
7
+ "username": {
8
+ "label": "اسم المستخدم",
9
+ "placeholder": "أدخل اسم المستخدم",
10
+ "helper": "3-30 حرفًا، أحرف وأرقام فقط",
11
+ "required": "يرجى إدخال اسم المستخدم.",
12
+ "minLength": "يجب أن يكون اسم المستخدم 3 أحرف على الأقل."
13
+ },
14
+ "password": {
15
+ "label": "كلمة المرور",
16
+ "placeholder": "أدخل كلمة المرور",
17
+ "required": "يرجى إدخال كلمة المرور.",
18
+ "hint": "أدخل كلمة المرور لتسجيل الدخول"
19
+ },
20
+ "actions": {
21
+ "continue": "متابعة",
22
+ "back": "رجوع",
23
+ "signIn": "تسجيل الدخول",
24
+ "verify": "التحقق",
25
+ "openAccountSwitcher": "التبديل إلى حساب آخر",
26
+ "openAccountSwitcherSubtitle": "{{count}} حسابات أخرى متاحة",
27
+ "openAccountSwitcherSubtitle_singular": "حساب آخر واحد متاح",
28
+ "openAccountSwitcherSubtitle_zero": "راجع حساباتك المحفوظة",
29
+ "manageAccounts": "إدارة الحسابات المحفوظة",
30
+ "manageAccountsSubtitle": "مراجعة الجلسات أو إزالتها أو تسجيل الخروج",
31
+ "loadingOtherAccounts": "جاري تحميل الحسابات الأخرى…",
32
+ "switchAccountFailed": "لم نتمكن من التبديل بين الحسابات. يرجى المحاولة مرة أخرى."
33
+ },
34
+ "forgotPrompt": "نسيت كلمة المرور؟",
35
+ "security": {
36
+ "dataSecure": "بياناتك مشفرة وآمنة"
37
+ },
38
+ "currentlySignedInAs": "مسجل الدخول حاليًا كـ",
39
+ "alreadySignedInWith": "مسجل الدخول بالفعل بـ",
40
+ "alreadySignedIn": "مسجل الدخول بالفعل",
41
+ "alreadySignedInMessage": "هذا الحساب مسجل الدخول بالفعل. المتابعة بهذا الحساب؟",
42
+ "continueWithAccount": "متابعة",
43
+ "currentAccount": "الحالي",
44
+ "or": "أو",
45
+ "viewAllAccounts": "عرض {{count}} المزيد",
46
+ "status": {
47
+ "accountSwitched": "استخدام {{name}} الآن"
48
+ },
49
+ "totp": {
50
+ "title": "رمز المصادقة الثنائية",
51
+ "subtitle": "أدخل الرمز المكون من 6 أرقام من تطبيق المصادقة الخاص بك لـ @{{username}}",
52
+ "invalidCode": "رمز غير صالح. يرجى المحاولة مرة أخرى.",
53
+ "noAccess": "لا يمكن الوصول إلى تطبيق المصادقة؟",
54
+ "useBackupCode": "استخدام رمز النسخ الاحتياطي",
55
+ "useRecoveryKey": "استخدام مفتاح الاسترداد"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "مرحبًا بك في Oxy!",
61
+ "subtitle": "أنشئ حسابك في خطوات قليلة",
62
+ "haveAccount": "لديك حساب بالفعل؟",
63
+ "signInCta": "تسجيل الدخول"
64
+ },
65
+ "identity": {
66
+ "title": "من أنت؟",
67
+ "subtitle": "اختر اسم المستخدم وأدخل بريدك الإلكتروني"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 حرفًا، أحرف وأرقام فقط",
71
+ "required": "يرجى إدخال اسم مستخدم",
72
+ "minLength": "يجب أن يكون اسم المستخدم 3 أحرف على الأقل"
73
+ },
74
+ "email": {
75
+ "required": "يرجى إدخال عنوان بريد إلكتروني",
76
+ "invalid": "يرجى إدخال عنوان بريد إلكتروني صالح",
77
+ "helper": "لن نشارك بريدك الإلكتروني أبدًا"
78
+ },
79
+ "security": {
80
+ "title": "أمّن حسابك",
81
+ "subtitle": "أنشئ كلمة مرور قوية لحماية حسابك"
82
+ },
83
+ "password": {
84
+ "helper": "8 أحرف على الأقل",
85
+ "required": "يرجى إدخال كلمة مرور",
86
+ "minLength": "يجب أن تكون كلمة المرور 8 أحرف على الأقل",
87
+ "confirmRequired": "يرجى تأكيد كلمة المرور",
88
+ "mismatch": "كلمات المرور غير متطابقة",
89
+ "confirmHint": "أعد إدخال كلمة المرور للتأكيد"
90
+ },
91
+ "summary": {
92
+ "title": "أوشكت على الانتهاء!",
93
+ "subtitle": "راجع معلوماتك وأنشئ حسابك",
94
+ "sectionTitle": "معلومات الحساب",
95
+ "fields": {
96
+ "username": "اسم المستخدم",
97
+ "email": "البريد الإلكتروني",
98
+ "password": "كلمة المرور"
99
+ },
100
+ "notSet": "غير محدد",
101
+ "securityTip": "لمزيد من الأمان، قم بتمكين المصادقة الثنائية (TOTP) من إعدادات الحساب بعد إنشاء حسابك.",
102
+ "legalReminder": "بإنشاء حساب، فإنك توافق على شروط الخدمة وسياسة الخصوصية الخاصة بنا."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "رجوع",
108
+ "continue": "متابعة",
109
+ "next": "التالي",
110
+ "getStarted": "ابدأ",
111
+ "createAccount": "إنشاء حساب",
112
+ "signIn": "تسجيل الدخول",
113
+ "verify": "التحقق",
114
+ "resetPassword": "إعادة تعيين كلمة المرور"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "استعادة حسابك",
118
+ "signUp": "التسجيل"
119
+ },
120
+ "labels": {
121
+ "username": "اسم المستخدم",
122
+ "email": "البريد الإلكتروني",
123
+ "password": "كلمة المرور",
124
+ "confirmPassword": "تأكيد كلمة المرور"
125
+ }
126
+ }
127
+ }
128
+
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "Iniciar sessió",
4
+ "subtitle": "Inicia sessió per continuar",
5
+ "addAccountTitle": "Afegir un altre compte",
6
+ "addAccountSubtitle": "Inicia sessió amb un altre compte",
7
+ "username": {
8
+ "label": "Nom d'usuari",
9
+ "placeholder": "Introdueix el teu nom d'usuari",
10
+ "helper": "3-30 caràcters, només lletres i números",
11
+ "required": "Si us plau, introdueix el teu nom d'usuari.",
12
+ "minLength": "El nom d'usuari ha de tenir almenys 3 caràcters."
13
+ },
14
+ "password": {
15
+ "label": "Contrasenya",
16
+ "placeholder": "Introdueix la teva contrasenya",
17
+ "required": "Si us plau, introdueix la teva contrasenya.",
18
+ "hint": "Introdueix la teva contrasenya per iniciar sessió"
19
+ },
20
+ "actions": {
21
+ "continue": "Continuar",
22
+ "back": "Enrere",
23
+ "signIn": "Iniciar sessió",
24
+ "verify": "Verificar",
25
+ "openAccountSwitcher": "Canviar a un altre compte",
26
+ "openAccountSwitcherSubtitle": "{{count}} altres comptes disponibles",
27
+ "openAccountSwitcherSubtitle_singular": "1 altre compte disponible",
28
+ "openAccountSwitcherSubtitle_zero": "Revisa els teus comptes guardats",
29
+ "manageAccounts": "Gestionar comptes guardats",
30
+ "manageAccountsSubtitle": "Revisar sessions, eliminar o tancar sessió",
31
+ "loadingOtherAccounts": "Carregant altres comptes…",
32
+ "switchAccountFailed": "No hem pogut canviar de compte. Torna-ho a intentar."
33
+ },
34
+ "forgotPrompt": "Has oblidat la teva contrasenya?",
35
+ "security": {
36
+ "dataSecure": "Les teves dades estan xifrades i segures"
37
+ },
38
+ "currentlySignedInAs": "Actualment has iniciat sessió com",
39
+ "alreadySignedInWith": "Ja has iniciat sessió amb",
40
+ "alreadySignedIn": "Ja has iniciat sessió",
41
+ "alreadySignedInMessage": "Aquest compte ja ha iniciat sessió. Continuar amb aquest compte?",
42
+ "continueWithAccount": "Continuar",
43
+ "currentAccount": "Actual",
44
+ "or": "o",
45
+ "viewAllAccounts": "Veure {{count}} més",
46
+ "status": {
47
+ "accountSwitched": "Ara utilitzant {{name}}"
48
+ },
49
+ "totp": {
50
+ "title": "Codi de dos factors",
51
+ "subtitle": "Introdueix el codi de 6 dígits de la teva app autenticadora per @{{username}}",
52
+ "invalidCode": "Codi invàlid. Torna-ho a intentar.",
53
+ "noAccess": "Sense accés al teu autenticador?",
54
+ "useBackupCode": "Utilitzar codi de còpia de seguretat",
55
+ "useRecoveryKey": "Utilitzar clau de recuperació"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "Benvingut a Oxy!",
61
+ "subtitle": "Crea el teu compte en pocs passos",
62
+ "haveAccount": "Ja tens un compte?",
63
+ "signInCta": "Inicia sessió"
64
+ },
65
+ "identity": {
66
+ "title": "Qui ets?",
67
+ "subtitle": "Tria el teu nom d'usuari i introdueix el teu correu"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 caràcters, només lletres i números",
71
+ "required": "Si us plau, introdueix un nom d'usuari",
72
+ "minLength": "El nom d'usuari ha de tenir almenys 3 caràcters"
73
+ },
74
+ "email": {
75
+ "required": "Si us plau, introdueix una adreça de correu electrònic",
76
+ "invalid": "Si us plau, introdueix una adreça de correu electrònic vàlida",
77
+ "helper": "Mai compartirem el teu correu"
78
+ },
79
+ "security": {
80
+ "title": "Protegeix el teu compte",
81
+ "subtitle": "Crea una contrasenya forta per protegir el teu compte"
82
+ },
83
+ "password": {
84
+ "helper": "Almenys 8 caràcters",
85
+ "required": "Si us plau, introdueix una contrasenya",
86
+ "minLength": "La contrasenya ha de tenir almenys 8 caràcters",
87
+ "confirmRequired": "Si us plau, confirma la teva contrasenya",
88
+ "mismatch": "Les contrasenyes no coincideixen",
89
+ "confirmHint": "Torna a introduir la teva contrasenya per confirmar"
90
+ },
91
+ "summary": {
92
+ "title": "Gairebé allà!",
93
+ "subtitle": "Revisa la teva informació i crea el teu compte",
94
+ "sectionTitle": "Informació del compte",
95
+ "fields": {
96
+ "username": "Nom d'usuari",
97
+ "email": "Correu electrònic",
98
+ "password": "Contrasenya"
99
+ },
100
+ "notSet": "No definit",
101
+ "securityTip": "Per a una major seguretat, habilita l'Autenticació de Dos Factors (TOTP) des de Configuració del compte després de crear el teu compte.",
102
+ "legalReminder": "En crear un compte, acceptes els nostres Termes de servei i Política de privacitat."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "Enrere",
108
+ "continue": "Continuar",
109
+ "next": "Següent",
110
+ "getStarted": "Començar",
111
+ "createAccount": "Crear compte",
112
+ "signIn": "Iniciar sessió",
113
+ "verify": "Verificar",
114
+ "resetPassword": "Restablir contrasenya"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "Recuperar el teu compte",
118
+ "signUp": "Registrar-se"
119
+ },
120
+ "labels": {
121
+ "username": "Nom d'usuari",
122
+ "email": "Correu electrònic",
123
+ "password": "Contrasenya",
124
+ "confirmPassword": "Confirmar contrasenya"
125
+ }
126
+ }
127
+ }
128
+
@@ -0,0 +1,128 @@
1
+ {
2
+ "signin": {
3
+ "title": "Anmelden",
4
+ "subtitle": "Melden Sie sich an, um fortzufahren",
5
+ "addAccountTitle": "Weiteres Konto hinzufügen",
6
+ "addAccountSubtitle": "Mit einem anderen Konto anmelden",
7
+ "username": {
8
+ "label": "Benutzername",
9
+ "placeholder": "Geben Sie Ihren Benutzernamen ein",
10
+ "helper": "3-30 Zeichen, nur Buchstaben und Zahlen",
11
+ "required": "Bitte geben Sie Ihren Benutzernamen ein.",
12
+ "minLength": "Der Benutzername muss mindestens 3 Zeichen lang sein."
13
+ },
14
+ "password": {
15
+ "label": "Passwort",
16
+ "placeholder": "Geben Sie Ihr Passwort ein",
17
+ "required": "Bitte geben Sie Ihr Passwort ein.",
18
+ "hint": "Geben Sie Ihr Passwort ein, um sich anzumelden"
19
+ },
20
+ "actions": {
21
+ "continue": "Fortfahren",
22
+ "back": "Zurück",
23
+ "signIn": "Anmelden",
24
+ "verify": "Überprüfen",
25
+ "openAccountSwitcher": "Zu einem anderen Konto wechseln",
26
+ "openAccountSwitcherSubtitle": "{{count}} weitere Konten verfügbar",
27
+ "openAccountSwitcherSubtitle_singular": "1 weiteres Konto verfügbar",
28
+ "openAccountSwitcherSubtitle_zero": "Überprüfen Sie Ihre gespeicherten Konten",
29
+ "manageAccounts": "Gespeicherte Konten verwalten",
30
+ "manageAccountsSubtitle": "Sitzungen überprüfen, entfernen oder abmelden",
31
+ "loadingOtherAccounts": "Lade weitere Konten…",
32
+ "switchAccountFailed": "Wir konnten nicht zu einem anderen Konto wechseln. Bitte versuchen Sie es erneut."
33
+ },
34
+ "forgotPrompt": "Passwort vergessen?",
35
+ "security": {
36
+ "dataSecure": "Ihre Daten sind verschlüsselt und sicher"
37
+ },
38
+ "currentlySignedInAs": "Aktuell angemeldet als",
39
+ "alreadySignedInWith": "Bereits angemeldet mit",
40
+ "alreadySignedIn": "Bereits angemeldet",
41
+ "alreadySignedInMessage": "Dieses Konto ist bereits angemeldet. Mit diesem Konto fortfahren?",
42
+ "continueWithAccount": "Fortfahren",
43
+ "currentAccount": "Aktuell",
44
+ "or": "oder",
45
+ "viewAllAccounts": "{{count}} weitere anzeigen",
46
+ "status": {
47
+ "accountSwitched": "Verwende jetzt {{name}}"
48
+ },
49
+ "totp": {
50
+ "title": "Zwei-Faktor-Code",
51
+ "subtitle": "Geben Sie den 6-stelligen Code von Ihrer Authenticator-App für @{{username}} ein",
52
+ "invalidCode": "Ungültiger Code. Bitte versuchen Sie es erneut.",
53
+ "noAccess": "Kein Zugriff auf Ihren Authenticator?",
54
+ "useBackupCode": "Backup-Code verwenden",
55
+ "useRecoveryKey": "Wiederherstellungsschlüssel verwenden"
56
+ }
57
+ },
58
+ "signup": {
59
+ "welcome": {
60
+ "title": "Willkommen bei Oxy!",
61
+ "subtitle": "Erstellen Sie Ihr Konto in nur wenigen Schritten",
62
+ "haveAccount": "Haben Sie bereits ein Konto?",
63
+ "signInCta": "Anmelden"
64
+ },
65
+ "identity": {
66
+ "title": "Wer sind Sie?",
67
+ "subtitle": "Wählen Sie Ihren Benutzernamen und geben Sie Ihre E-Mail ein"
68
+ },
69
+ "username": {
70
+ "helper": "3-30 Zeichen, nur Buchstaben und Zahlen",
71
+ "required": "Bitte geben Sie einen Benutzernamen ein",
72
+ "minLength": "Der Benutzername muss mindestens 3 Zeichen lang sein"
73
+ },
74
+ "email": {
75
+ "required": "Bitte geben Sie eine E-Mail-Adresse ein",
76
+ "invalid": "Bitte geben Sie eine gültige E-Mail-Adresse ein",
77
+ "helper": "Wir werden Ihre E-Mail niemals teilen"
78
+ },
79
+ "security": {
80
+ "title": "Sichern Sie Ihr Konto",
81
+ "subtitle": "Erstellen Sie ein starkes Passwort, um Ihr Konto zu schützen"
82
+ },
83
+ "password": {
84
+ "helper": "Mindestens 8 Zeichen",
85
+ "required": "Bitte geben Sie ein Passwort ein",
86
+ "minLength": "Das Passwort muss mindestens 8 Zeichen lang sein",
87
+ "confirmRequired": "Bitte bestätigen Sie Ihr Passwort",
88
+ "mismatch": "Die Passwörter stimmen nicht überein",
89
+ "confirmHint": "Geben Sie Ihr Passwort erneut ein, um zu bestätigen"
90
+ },
91
+ "summary": {
92
+ "title": "Fast geschafft!",
93
+ "subtitle": "Überprüfen Sie Ihre Informationen und erstellen Sie Ihr Konto",
94
+ "sectionTitle": "Kontoinformationen",
95
+ "fields": {
96
+ "username": "Benutzername",
97
+ "email": "E-Mail",
98
+ "password": "Passwort"
99
+ },
100
+ "notSet": "Nicht festgelegt",
101
+ "securityTip": "Für mehr Sicherheit aktivieren Sie die Zwei-Faktor-Authentifizierung (TOTP) in den Kontoeinstellungen, nachdem Sie Ihr Konto erstellt haben.",
102
+ "legalReminder": "Durch die Erstellung eines Kontos stimmen Sie unseren Nutzungsbedingungen und der Datenschutzrichtlinie zu."
103
+ }
104
+ },
105
+ "common": {
106
+ "actions": {
107
+ "back": "Zurück",
108
+ "continue": "Fortfahren",
109
+ "next": "Weiter",
110
+ "getStarted": "Loslegen",
111
+ "createAccount": "Konto erstellen",
112
+ "signIn": "Anmelden",
113
+ "verify": "Überprüfen",
114
+ "resetPassword": "Passwort zurücksetzen"
115
+ },
116
+ "links": {
117
+ "recoverAccount": "Ihr Konto wiederherstellen",
118
+ "signUp": "Registrieren"
119
+ },
120
+ "labels": {
121
+ "username": "Benutzername",
122
+ "email": "E-Mail",
123
+ "password": "Passwort",
124
+ "confirmPassword": "Passwort bestätigen"
125
+ }
126
+ }
127
+ }
128
+
@@ -6,23 +6,46 @@
6
6
  "addAccountSubtitle": "Sign in with another account",
7
7
  "username": {
8
8
  "label": "Username",
9
- "placeholder": "Enter your username"
9
+ "placeholder": "Enter your username",
10
+ "helper": "3-30 characters, letters and numbers only",
11
+ "required": "Please enter your username.",
12
+ "minLength": "Username must be at least 3 characters."
10
13
  },
11
14
  "password": {
12
15
  "label": "Password",
13
- "placeholder": "Enter your password"
16
+ "placeholder": "Enter your password",
17
+ "required": "Please enter your password.",
18
+ "hint": "Enter your password to sign in"
14
19
  },
15
20
  "actions": {
16
21
  "continue": "Continue",
17
22
  "back": "Back",
18
23
  "signIn": "Sign In",
19
- "verify": "Verify"
24
+ "verify": "Verify",
25
+ "openAccountSwitcher": "Switch to another account",
26
+ "openAccountSwitcherSubtitle": "{{count}} other accounts available",
27
+ "openAccountSwitcherSubtitle_singular": "1 other account available",
28
+ "openAccountSwitcherSubtitle_zero": "Review your saved accounts",
29
+ "manageAccounts": "Manage saved accounts",
30
+ "manageAccountsSubtitle": "Review sessions, remove or sign out",
31
+ "loadingOtherAccounts": "Loading other accounts…",
32
+ "switchAccountFailed": "We couldn’t switch accounts. Please try again."
20
33
  },
21
34
  "forgotPrompt": "Forgot your password?",
22
35
  "security": {
23
36
  "dataSecure": "Your data is encrypted and secure"
24
37
  },
25
- "currentlySignedInAs": "Currently signed in as {{username}}",
38
+ "currentlySignedInAs": "Currently signed in as",
39
+ "alreadySignedInWith": "Already signed in with",
40
+ "alreadySignedIn": "Already signed in",
41
+ "alreadySignedInMessage": "This account is already signed in. Continue with this account?",
42
+ "continueWithAccount": "Continue",
43
+ "currentAccount": "Current",
44
+ "or": "or",
45
+ "viewAllAccounts": "View {{count}} more",
46
+ "status": {
47
+ "accountSwitched": "Now using {{name}}"
48
+ },
26
49
  "totp": {
27
50
  "title": "Two‑Factor Code",
28
51
  "subtitle": "Enter the 6‑digit code from your authenticator app for @{{username}}",
@@ -35,19 +58,56 @@
35
58
  "signup": {
36
59
  "welcome": {
37
60
  "title": "Welcome to Oxy!",
38
- "subtitle": "Let's create your account in just a few steps"
61
+ "subtitle": "Let's create your account in just a few steps",
62
+ "haveAccount": "Already have an account?",
63
+ "signInCta": "Sign in"
39
64
  },
40
65
  "identity": {
41
66
  "title": "Who are you?",
42
67
  "subtitle": "Choose your username and enter your email"
43
68
  },
69
+ "username": {
70
+ "helper": "3-30 characters, letters and numbers only",
71
+ "required": "Please enter a username",
72
+ "minLength": "Username must be at least 3 characters"
73
+ },
74
+ "email": {
75
+ "required": "Please enter an email address",
76
+ "invalid": "Please enter a valid email address",
77
+ "helper": "We'll never share your email"
78
+ },
44
79
  "security": {
45
80
  "title": "Secure Your Account",
46
81
  "subtitle": "Create a strong password to protect your account"
47
82
  },
83
+ "password": {
84
+ "helper": "At least 8 characters",
85
+ "required": "Please enter a password",
86
+ "minLength": "Password must be at least 8 characters long",
87
+ "confirmRequired": "Please confirm your password",
88
+ "mismatch": "Passwords do not match",
89
+ "confirmHint": "Re-enter your password to confirm"
90
+ },
48
91
  "summary": {
49
92
  "title": "Almost There!",
50
- "subtitle": "Review your information and create your account"
93
+ "subtitle": "Review your information and create your account",
94
+ "sectionTitle": "Account Information",
95
+ "fields": {
96
+ "username": "Username",
97
+ "email": "Email",
98
+ "password": "Password"
99
+ },
100
+ "notSet": "Not set",
101
+ "securityTip": "For stronger security, enable Two‑Factor Authentication (TOTP) from Account Settings after you create your account.",
102
+ "legalReminder": "By creating an account, you agree to our Terms of Service and Privacy Policy.",
103
+ "sections": {
104
+ "account": "Account Information",
105
+ "next": "Next Steps"
106
+ },
107
+ "next": {
108
+ "securityTitle": "Keep your account secure",
109
+ "legalTitle": "You're all set"
110
+ }
51
111
  }
52
112
  },
53
113
  "welcomeNew": {
@@ -175,7 +235,8 @@
175
235
  "username": {
176
236
  "label": "Username",
177
237
  "placeholder": "Enter your username",
178
- "errorRequired": "Please enter your username."
238
+ "errorRequired": "Please enter your username.",
239
+ "helper": "Enter your username or email"
179
240
  },
180
241
  "verify": {
181
242
  "title": "Verify Code",
@@ -570,13 +631,25 @@
570
631
  "actions": {
571
632
  "manage": "Manage"
572
633
  },
573
- "loadingAdditional": { "title": "Loading accounts...", "subtitle": "Please wait while we load your additional accounts" },
634
+ "loadingAdditional": {
635
+ "title": "Loading accounts...",
636
+ "subtitle": "Please wait while we load your additional accounts"
637
+ },
574
638
  "additional": {
575
- "noAccounts": { "title": "No other accounts", "subtitle": "Add another account to switch between them" }
639
+ "noAccounts": {
640
+ "title": "No other accounts",
641
+ "subtitle": "Add another account to switch between them"
642
+ }
576
643
  },
577
644
  "items": {
578
- "addAccount": { "title": "Add Another Account", "subtitle": "Sign in with a different account" },
579
- "signOutAll": { "title": "Sign out of all accounts", "subtitle": "Remove all accounts from this device" },
645
+ "addAccount": {
646
+ "title": "Add Another Account",
647
+ "subtitle": "Sign in with a different account"
648
+ },
649
+ "signOutAll": {
650
+ "title": "Sign out of all accounts",
651
+ "subtitle": "Remove all accounts from this device"
652
+ },
580
653
  "accountSwitcher": {
581
654
  "switchPrompt": "Switch to {{username}}?",
582
655
  "titleShow": "Show Account Switcher",
@@ -678,4 +751,4 @@
678
751
  "confirmPassword": "Confirm Password"
679
752
  }
680
753
  }
681
- }
754
+ }