@solidxai/core-ui 0.1.8-beta.2 → 0.1.8-beta.21

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 (434) hide show
  1. package/dist/adapters/auth/getSession.d.ts.map +1 -1
  2. package/dist/adapters/auth/getSession.js +1 -1
  3. package/dist/adapters/auth/getSession.js.map +1 -1
  4. package/dist/adapters/auth/getSession.ts +1 -0
  5. package/dist/adapters/auth/helper.d.ts.map +1 -1
  6. package/dist/adapters/auth/helper.js +1 -0
  7. package/dist/adapters/auth/helper.js.map +1 -1
  8. package/dist/adapters/auth/helper.ts +3 -1
  9. package/dist/adapters/auth/signIn.d.ts.map +1 -1
  10. package/dist/adapters/auth/signIn.js +1 -0
  11. package/dist/adapters/auth/signIn.js.map +1 -1
  12. package/dist/adapters/auth/signIn.ts +3 -1
  13. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts +1 -0
  14. package/dist/adapters/auth/signInWithOAuthAccessCode.d.ts.map +1 -1
  15. package/dist/adapters/auth/signInWithOAuthAccessCode.js +10 -9
  16. package/dist/adapters/auth/signInWithOAuthAccessCode.js.map +1 -1
  17. package/dist/adapters/auth/signInWithOAuthAccessCode.ts +6 -3
  18. package/dist/adapters/auth/signOut.d.ts.map +1 -1
  19. package/dist/adapters/auth/signOut.js +7 -1
  20. package/dist/adapters/auth/signOut.js.map +1 -1
  21. package/dist/adapters/auth/signOut.ts +7 -1
  22. package/dist/adapters/auth/types.d.ts +1 -0
  23. package/dist/adapters/auth/types.d.ts.map +1 -1
  24. package/dist/adapters/auth/types.js.map +1 -1
  25. package/dist/adapters/auth/types.ts +1 -0
  26. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  27. package/dist/components/auth/AuthLayout.js +95 -38
  28. package/dist/components/auth/AuthLayout.js.map +1 -1
  29. package/dist/components/auth/AuthLayout.tsx +50 -39
  30. package/dist/components/auth/AuthSettingsContext.d.ts +10 -0
  31. package/dist/components/auth/AuthSettingsContext.d.ts.map +1 -0
  32. package/dist/components/auth/AuthSettingsContext.js +49 -0
  33. package/dist/components/auth/AuthSettingsContext.js.map +1 -0
  34. package/dist/components/auth/AuthSettingsContext.tsx +19 -0
  35. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  36. package/dist/components/auth/AuthTabs.js +9 -9
  37. package/dist/components/auth/AuthTabs.js.map +1 -1
  38. package/dist/components/auth/AuthTabs.tsx +14 -15
  39. package/dist/components/auth/FacebookAuthChecking.d.ts +2 -0
  40. package/dist/components/auth/FacebookAuthChecking.d.ts.map +1 -0
  41. package/dist/components/auth/FacebookAuthChecking.js +103 -0
  42. package/dist/components/auth/FacebookAuthChecking.js.map +1 -0
  43. package/dist/components/auth/FacebookAuthChecking.tsx +64 -0
  44. package/dist/components/auth/ForgotPasswordThankYou.d.ts.map +1 -1
  45. package/dist/components/auth/ForgotPasswordThankYou.js +2 -6
  46. package/dist/components/auth/ForgotPasswordThankYou.js.map +1 -1
  47. package/dist/components/auth/ForgotPasswordThankYou.tsx +2 -7
  48. package/dist/components/auth/GoogleAuthChecking.js +0 -1
  49. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  50. package/dist/components/auth/GoogleAuthChecking.tsx +1 -1
  51. package/dist/components/auth/MicrosoftAuthChecking.d.ts +2 -0
  52. package/dist/components/auth/MicrosoftAuthChecking.d.ts.map +1 -0
  53. package/dist/components/auth/MicrosoftAuthChecking.js +103 -0
  54. package/dist/components/auth/MicrosoftAuthChecking.js.map +1 -0
  55. package/dist/components/auth/MicrosoftAuthChecking.tsx +64 -0
  56. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  57. package/dist/components/auth/SolidForgotPassword.js +3 -7
  58. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  59. package/dist/components/auth/SolidForgotPassword.tsx +3 -7
  60. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  61. package/dist/components/auth/SolidInitialLoginOtp.js +4 -8
  62. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  63. package/dist/components/auth/SolidInitialLoginOtp.tsx +3 -6
  64. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  65. package/dist/components/auth/SolidInitiateRegisterOtp.js +27 -14
  66. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  67. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +27 -15
  68. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  69. package/dist/components/auth/SolidLogin.js +11 -11
  70. package/dist/components/auth/SolidLogin.js.map +1 -1
  71. package/dist/components/auth/SolidLogin.tsx +20 -9
  72. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  73. package/dist/components/auth/SolidRegister.js +53 -25
  74. package/dist/components/auth/SolidRegister.js.map +1 -1
  75. package/dist/components/auth/SolidRegister.tsx +107 -40
  76. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  77. package/dist/components/auth/SolidResetPassword.js +2 -6
  78. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  79. package/dist/components/auth/SolidResetPassword.tsx +2 -6
  80. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  81. package/dist/components/common/GeneralSettings.js +235 -156
  82. package/dist/components/common/GeneralSettings.js.map +1 -1
  83. package/dist/components/common/GeneralSettings.tsx +1109 -795
  84. package/dist/components/common/SettingsComponent.d.ts +2 -0
  85. package/dist/components/common/SettingsComponent.d.ts.map +1 -0
  86. package/dist/components/common/SettingsComponent.js +351 -0
  87. package/dist/components/common/SettingsComponent.js.map +1 -0
  88. package/dist/components/common/SettingsComponent.module.css +421 -0
  89. package/dist/components/common/SettingsComponent.tsx +582 -0
  90. package/dist/components/common/SocialMediaLogin.d.ts +8 -1
  91. package/dist/components/common/SocialMediaLogin.d.ts.map +1 -1
  92. package/dist/components/common/SocialMediaLogin.js +6 -13
  93. package/dist/components/common/SocialMediaLogin.js.map +1 -1
  94. package/dist/components/common/SocialMediaLogin.tsx +120 -58
  95. package/dist/components/common/SolidAdmin.js +1 -1
  96. package/dist/components/common/SolidAdmin.js.map +1 -1
  97. package/dist/components/common/SolidAdmin.tsx +1 -1
  98. package/dist/components/common/SolidExport.d.ts.map +1 -1
  99. package/dist/components/common/SolidExport.js +1 -1
  100. package/dist/components/common/SolidExport.js.map +1 -1
  101. package/dist/components/common/SolidExport.tsx +2 -1
  102. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  103. package/dist/components/common/SolidFormStepper.js +2 -1
  104. package/dist/components/common/SolidFormStepper.js.map +1 -1
  105. package/dist/components/common/SolidFormStepper.tsx +2 -1
  106. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  107. package/dist/components/common/SolidThemeProvider.js +5 -21
  108. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  109. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  110. package/dist/components/common/solid-export.css +26 -0
  111. package/dist/components/common/solidModuleHome.module.css +1 -2
  112. package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
  113. package/dist/components/core/card/SolidCardView.js +24 -25
  114. package/dist/components/core/card/SolidCardView.js.map +1 -1
  115. package/dist/components/core/card/SolidCardView.tsx +23 -28
  116. package/dist/components/core/card/SolidCardViewConfigure.js +1 -1
  117. package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
  118. package/dist/components/core/card/SolidCardViewConfigure.tsx +1 -1
  119. package/dist/components/core/chatter/SolidChatter.d.ts.map +1 -1
  120. package/dist/components/core/chatter/SolidChatter.js +39 -9
  121. package/dist/components/core/chatter/SolidChatter.js.map +1 -1
  122. package/dist/components/core/chatter/SolidChatter.tsx +42 -7
  123. package/dist/components/core/chatter/SolidChatterAuditMessage.d.ts.map +1 -1
  124. package/dist/components/core/chatter/SolidChatterAuditMessage.js +19 -1
  125. package/dist/components/core/chatter/SolidChatterAuditMessage.js.map +1 -1
  126. package/dist/components/core/chatter/SolidChatterAuditMessage.tsx +22 -1
  127. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts +3 -0
  128. package/dist/components/core/chatter/SolidChatterMessageBox.d.ts.map +1 -1
  129. package/dist/components/core/chatter/SolidChatterMessageBox.js +68 -4
  130. package/dist/components/core/chatter/SolidChatterMessageBox.js.map +1 -1
  131. package/dist/components/core/chatter/SolidChatterMessageBox.tsx +45 -3
  132. package/dist/components/core/chatter/chatter.module.css +3 -6
  133. package/dist/components/core/common/PDFViewer.js +1 -1
  134. package/dist/components/core/common/PDFViewer.js.map +1 -1
  135. package/dist/components/core/common/PDFViewer.tsx +2 -2
  136. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.d.ts.map +1 -1
  137. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js +3 -1
  138. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.js.map +1 -1
  139. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.module.css +1 -1
  140. package/dist/components/core/common/SolidAccountSettings/SolidAccountSettings.tsx +3 -1
  141. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  142. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +9 -8
  143. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  144. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +4 -2
  145. package/dist/components/core/common/SolidGenericImport/SolidImport.module.css +3 -4
  146. package/dist/components/core/common/dndCompat.d.ts +8 -0
  147. package/dist/components/core/common/dndCompat.d.ts.map +1 -0
  148. package/dist/components/core/common/dndCompat.js +5 -0
  149. package/dist/components/core/common/dndCompat.js.map +1 -0
  150. package/dist/components/core/common/dndCompat.ts +9 -0
  151. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js +2 -2
  152. package/dist/components/core/dashboard/SolidDashboardFilterRequired.js.map +1 -1
  153. package/dist/components/core/dashboard/SolidDashboardFilterRequired.tsx +2 -2
  154. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js +2 -2
  155. package/dist/components/core/dashboard/SolidDashboardNotAvailable.js.map +1 -1
  156. package/dist/components/core/dashboard/SolidDashboardNotAvailable.tsx +2 -2
  157. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js +1 -1
  158. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.js.map +1 -1
  159. package/dist/components/core/extension/solid-core/chatterMessage/form/SolidChatterMessageCoModelEntityIdFormViewWidget.tsx +1 -1
  160. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js +1 -1
  161. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.js.map +1 -1
  162. package/dist/components/core/extension/solid-core/chatterMessage/list/SolidChatterMessageCoModelEntityIdListViewWidget.tsx +1 -1
  163. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js +1 -1
  164. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.js.map +1 -1
  165. package/dist/components/core/extension/solid-core/mqMessage/list/SolidMqMessagesSummarizeListHeaderAction.tsx +1 -1
  166. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js +1 -1
  167. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.js.map +1 -1
  168. package/dist/components/core/extension/solid-core/mqMessage/ui/MqMessageStageBadge.tsx +1 -1
  169. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts +7 -0
  170. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.d.ts.map +1 -0
  171. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js +75 -0
  172. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.js.map +1 -0
  173. package/dist/components/core/extension/solid-core/scheduled-job/scheduleFrequencyOnFieldChangeHandler.ts +45 -0
  174. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts +3 -0
  175. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.d.ts.map +1 -0
  176. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js +81 -0
  177. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.js.map +1 -0
  178. package/dist/components/core/extension/solid-core/settings/solidXGenAiCodeBuilderConfigWidget.tsx +114 -0
  179. package/dist/components/core/form/SolidFormActionHeader.d.ts +1 -1
  180. package/dist/components/core/form/SolidFormActionHeader.d.ts.map +1 -1
  181. package/dist/components/core/form/SolidFormActionHeader.js +5 -3
  182. package/dist/components/core/form/SolidFormActionHeader.js.map +1 -1
  183. package/dist/components/core/form/SolidFormActionHeader.tsx +27 -1
  184. package/dist/components/core/form/SolidFormLayouts.js +1 -1
  185. package/dist/components/core/form/SolidFormLayouts.js.map +1 -1
  186. package/dist/components/core/form/SolidFormLayouts.tsx +1 -1
  187. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  188. package/dist/components/core/form/SolidFormView.js +141 -50
  189. package/dist/components/core/form/SolidFormView.js.map +1 -1
  190. package/dist/components/core/form/SolidFormView.tsx +123 -25
  191. package/dist/components/core/form/fields/SolidComputedField.d.ts +25 -0
  192. package/dist/components/core/form/fields/SolidComputedField.d.ts.map +1 -0
  193. package/dist/components/core/form/fields/SolidComputedField.js +128 -0
  194. package/dist/components/core/form/fields/SolidComputedField.js.map +1 -0
  195. package/dist/components/core/form/fields/SolidComputedField.tsx +134 -0
  196. package/dist/components/core/form/fields/SolidDateTimeField.d.ts.map +1 -1
  197. package/dist/components/core/form/fields/SolidDateTimeField.js +8 -2
  198. package/dist/components/core/form/fields/SolidDateTimeField.js.map +1 -1
  199. package/dist/components/core/form/fields/SolidDateTimeField.tsx +8 -2
  200. package/dist/components/core/form/fields/SolidEmailField.d.ts.map +1 -1
  201. package/dist/components/core/form/fields/SolidEmailField.js +5 -4
  202. package/dist/components/core/form/fields/SolidEmailField.js.map +1 -1
  203. package/dist/components/core/form/fields/SolidEmailField.tsx +17 -15
  204. package/dist/components/core/form/fields/SolidIntegerField.d.ts.map +1 -1
  205. package/dist/components/core/form/fields/SolidIntegerField.js +5 -4
  206. package/dist/components/core/form/fields/SolidIntegerField.js.map +1 -1
  207. package/dist/components/core/form/fields/SolidIntegerField.tsx +3 -1
  208. package/dist/components/core/form/fields/SolidSelectionDynamicField.d.ts.map +1 -1
  209. package/dist/components/core/form/fields/SolidSelectionDynamicField.js +35 -24
  210. package/dist/components/core/form/fields/SolidSelectionDynamicField.js.map +1 -1
  211. package/dist/components/core/form/fields/SolidSelectionDynamicField.tsx +30 -14
  212. package/dist/components/core/form/fields/SolidSelectionStaticField.d.ts.map +1 -1
  213. package/dist/components/core/form/fields/SolidSelectionStaticField.js +29 -28
  214. package/dist/components/core/form/fields/SolidSelectionStaticField.js.map +1 -1
  215. package/dist/components/core/form/fields/SolidSelectionStaticField.tsx +17 -12
  216. package/dist/components/core/form/fields/SolidShortTextField.d.ts.map +1 -1
  217. package/dist/components/core/form/fields/SolidShortTextField.js +8 -6
  218. package/dist/components/core/form/fields/SolidShortTextField.js.map +1 -1
  219. package/dist/components/core/form/fields/SolidShortTextField.tsx +7 -1
  220. package/dist/components/core/form/fields/SolidTimeField.js +1 -1
  221. package/dist/components/core/form/fields/SolidTimeField.js.map +1 -1
  222. package/dist/components/core/form/fields/SolidTimeField.tsx +1 -1
  223. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.d.ts.map +1 -1
  224. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js +3 -3
  225. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.js.map +1 -1
  226. package/dist/components/core/form/fields/relations/widgets/helpers/InlineRelationEntityDialog.tsx +0 -5
  227. package/dist/components/core/form/fields/solidFields.module.css +0 -3
  228. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  229. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  230. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  231. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  232. package/dist/components/core/kanban/KanbanBoard.js +1 -1
  233. package/dist/components/core/kanban/KanbanBoard.js.map +1 -1
  234. package/dist/components/core/kanban/KanbanBoard.tsx +1 -1
  235. package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
  236. package/dist/components/core/kanban/KanbanCard.js +2 -2
  237. package/dist/components/core/kanban/KanbanCard.js.map +1 -1
  238. package/dist/components/core/kanban/KanbanCard.tsx +4 -3
  239. package/dist/components/core/kanban/KanbanColumn.d.ts.map +1 -1
  240. package/dist/components/core/kanban/KanbanColumn.js +3 -3
  241. package/dist/components/core/kanban/KanbanColumn.js.map +1 -1
  242. package/dist/components/core/kanban/KanbanColumn.tsx +5 -4
  243. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  244. package/dist/components/core/kanban/SolidKanbanView.js +220 -109
  245. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  246. package/dist/components/core/kanban/SolidKanbanView.tsx +219 -96
  247. package/dist/components/core/kanban/SolidKanbanViewConfigure.js +1 -1
  248. package/dist/components/core/kanban/SolidKanbanViewConfigure.js.map +1 -1
  249. package/dist/components/core/kanban/SolidKanbanViewConfigure.tsx +1 -1
  250. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  251. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +4 -3
  252. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  253. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +13 -12
  254. package/dist/components/core/list/SolidDataTable.d.ts.map +1 -1
  255. package/dist/components/core/list/SolidDataTable.js +6 -5
  256. package/dist/components/core/list/SolidDataTable.js.map +1 -1
  257. package/dist/components/core/list/SolidDataTable.tsx +6 -5
  258. package/dist/components/core/list/SolidEmptyListViewPlaceholder.d.ts.map +1 -1
  259. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js +3 -3
  260. package/dist/components/core/list/SolidEmptyListViewPlaceholder.js.map +1 -1
  261. package/dist/components/core/list/SolidEmptyListViewPlaceholder.tsx +7 -4
  262. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  263. package/dist/components/core/list/SolidListView.js +64 -74
  264. package/dist/components/core/list/SolidListView.js.map +1 -1
  265. package/dist/components/core/list/SolidListView.tsx +72 -97
  266. package/dist/components/core/list/SolidListViewConfigure.js +1 -1
  267. package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
  268. package/dist/components/core/list/SolidListViewConfigure.tsx +1 -1
  269. package/dist/components/core/list/SolidListViewRowActionsMenu.js +2 -2
  270. package/dist/components/core/list/SolidListViewRowActionsMenu.js.map +1 -1
  271. package/dist/components/core/list/SolidListViewRowActionsMenu.tsx +2 -2
  272. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +1 -1
  273. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
  274. package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +1 -1
  275. package/dist/components/core/solid-ai/SolidAiChat.module.css +3 -3
  276. package/dist/components/core/tree/SolidTreeView.js +1 -1
  277. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  278. package/dist/components/core/tree/SolidTreeView.tsx +1 -1
  279. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  280. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  281. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  282. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  283. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  284. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  285. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  286. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  287. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  288. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  289. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  290. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  291. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  292. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  293. package/dist/components/core/users/CreateUser.css +114 -0
  294. package/dist/components/core/users/CreateUser.d.ts +1 -0
  295. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  296. package/dist/components/core/users/CreateUser.js +4 -3
  297. package/dist/components/core/users/CreateUser.js.map +1 -1
  298. package/dist/components/core/users/CreateUser.tsx +32 -26
  299. package/dist/components/layout/AdminTopHeader.d.ts.map +1 -1
  300. package/dist/components/layout/AdminTopHeader.js +25 -1
  301. package/dist/components/layout/AdminTopHeader.js.map +1 -1
  302. package/dist/components/layout/AdminTopHeader.tsx +38 -1
  303. package/dist/components/layout/context/layoutcontext.js +2 -2
  304. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  305. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  306. package/dist/components/layout/user-profile-menu.d.ts.map +1 -1
  307. package/dist/components/layout/user-profile-menu.js +15 -14
  308. package/dist/components/layout/user-profile-menu.js.map +1 -1
  309. package/dist/components/layout/user-profile-menu.tsx +8 -6
  310. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +1 -1
  311. package/dist/components/shad-cn-ui/SolidAutocomplete.js +9 -1
  312. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +1 -1
  313. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +10 -1
  314. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  315. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  316. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  317. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  318. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  319. package/dist/components/shad-cn-ui/SolidDatePicker.d.ts.map +1 -1
  320. package/dist/components/shad-cn-ui/SolidDatePicker.js +12 -2
  321. package/dist/components/shad-cn-ui/SolidDatePicker.js.map +1 -1
  322. package/dist/components/shad-cn-ui/SolidDatePicker.tsx +13 -2
  323. package/dist/components/shad-cn-ui/SolidDialog.d.ts +1 -1
  324. package/dist/components/shad-cn-ui/SolidDialog.d.ts.map +1 -1
  325. package/dist/components/shad-cn-ui/SolidDialog.js.map +1 -1
  326. package/dist/components/shad-cn-ui/SolidDialog.tsx +1 -1
  327. package/dist/components/shad-cn-ui/SolidIcon.d.ts +2 -2
  328. package/dist/components/shad-cn-ui/SolidIcon.d.ts.map +1 -1
  329. package/dist/components/shad-cn-ui/SolidIcon.js +3 -4
  330. package/dist/components/shad-cn-ui/SolidIcon.js.map +1 -1
  331. package/dist/components/shad-cn-ui/SolidIcon.tsx +12 -15
  332. package/dist/components/shad-cn-ui/SolidRichTextEditor.d.ts.map +1 -1
  333. package/dist/components/shad-cn-ui/SolidRichTextEditor.js +9 -1
  334. package/dist/components/shad-cn-ui/SolidRichTextEditor.js.map +1 -1
  335. package/dist/components/shad-cn-ui/SolidRichTextEditor.tsx +8 -1
  336. package/dist/components/shad-cn-ui/SolidTabs.d.ts +2 -1
  337. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  338. package/dist/components/shad-cn-ui/SolidTabs.js +6 -3
  339. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  340. package/dist/components/shad-cn-ui/SolidTabs.tsx +63 -26
  341. package/dist/helpers/hydrateRelationRules.js +1 -1
  342. package/dist/helpers/hydrateRelationRules.js.map +1 -1
  343. package/dist/helpers/hydrateRelationRules.ts +1 -1
  344. package/dist/helpers/permissions.js +2 -2
  345. package/dist/helpers/permissions.js.map +1 -1
  346. package/dist/helpers/permissions.ts +2 -2
  347. package/dist/helpers/registry.d.ts +2 -2
  348. package/dist/helpers/registry.d.ts.map +1 -1
  349. package/dist/helpers/registry.js +6 -0
  350. package/dist/helpers/registry.js.map +1 -1
  351. package/dist/helpers/registry.ts +9 -2
  352. package/dist/helpers/settingsPayload.d.ts +32 -0
  353. package/dist/helpers/settingsPayload.d.ts.map +1 -0
  354. package/dist/helpers/settingsPayload.js +72 -0
  355. package/dist/helpers/settingsPayload.js.map +1 -0
  356. package/dist/helpers/settingsPayload.ts +125 -0
  357. package/dist/index.d.ts +4 -0
  358. package/dist/index.d.ts.map +1 -1
  359. package/dist/index.js +4 -0
  360. package/dist/index.js.map +1 -1
  361. package/dist/index.ts +4 -0
  362. package/dist/redux/api/solidChatterMessageApi.d.ts +2 -1
  363. package/dist/redux/api/solidChatterMessageApi.d.ts.map +1 -1
  364. package/dist/redux/api/solidChatterMessageApi.js +11 -1
  365. package/dist/redux/api/solidChatterMessageApi.js.map +1 -1
  366. package/dist/redux/api/solidChatterMessageApi.ts +10 -1
  367. package/dist/redux/api/solidEntityApi.js +1 -1
  368. package/dist/redux/api/solidEntityApi.js.map +1 -1
  369. package/dist/redux/api/solidEntityApi.tsx +1 -1
  370. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  371. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  372. package/dist/resources/globals.css +114 -90
  373. package/dist/resources/images/Background.svg +3 -5
  374. package/dist/resources/images/Navigation/SolidSettinsIcon.svg +3 -5
  375. package/dist/resources/images/errors/error.svg +12 -14
  376. package/dist/resources/shadcn-base.css +356 -429
  377. package/dist/resources/solid-responsive.css +22 -4
  378. package/dist/resources/themes/solid-dark-purple/theme.css +23 -33
  379. package/dist/resources/themes/solid-light-purple/theme.css +31 -31
  380. package/dist/routes/AppEventListener.js +1 -1
  381. package/dist/routes/AppEventListener.js.map +1 -1
  382. package/dist/routes/AppEventListener.tsx +1 -1
  383. package/dist/routes/SolidLayoutRegistry.d.ts.map +1 -1
  384. package/dist/routes/SolidLayoutRegistry.js +3 -1
  385. package/dist/routes/SolidLayoutRegistry.js.map +1 -1
  386. package/dist/routes/SolidLayoutRegistry.tsx +3 -1
  387. package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
  388. package/dist/routes/guards/AuthGuard.js +4 -1
  389. package/dist/routes/guards/AuthGuard.js.map +1 -1
  390. package/dist/routes/guards/AuthGuard.tsx +6 -1
  391. package/dist/routes/pages/admin/core/CardPage.js +1 -1
  392. package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
  393. package/dist/routes/pages/admin/core/CardPage.tsx +1 -1
  394. package/dist/routes/pages/admin/core/FormPage.js +1 -1
  395. package/dist/routes/pages/admin/core/FormPage.js.map +1 -1
  396. package/dist/routes/pages/admin/core/FormPage.tsx +1 -1
  397. package/dist/routes/pages/admin/core/KanbanPage.js +1 -1
  398. package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
  399. package/dist/routes/pages/admin/core/KanbanPage.tsx +1 -1
  400. package/dist/routes/pages/admin/core/ListPage.js +1 -1
  401. package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
  402. package/dist/routes/pages/admin/core/ListPage.tsx +1 -1
  403. package/dist/routes/pages/admin/core/SettingsPage.js +2 -2
  404. package/dist/routes/pages/admin/core/SettingsPage.js.map +1 -1
  405. package/dist/routes/pages/admin/core/SettingsPage.tsx +2 -2
  406. package/dist/routes/pages/admin/core/TreePage.js +1 -1
  407. package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
  408. package/dist/routes/pages/admin/core/TreePage.tsx +1 -1
  409. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts +2 -0
  410. package/dist/routes/pages/auth/InitiateFacebookOauthPage.d.ts.map +1 -0
  411. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js +6 -0
  412. package/dist/routes/pages/auth/InitiateFacebookOauthPage.js.map +1 -0
  413. package/dist/routes/pages/auth/InitiateFacebookOauthPage.tsx +5 -0
  414. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts +2 -0
  415. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.d.ts.map +1 -0
  416. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js +6 -0
  417. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.js.map +1 -0
  418. package/dist/routes/pages/auth/InitiateMicrosoftOauthPage.tsx +5 -0
  419. package/dist/routes/solidRoutes.d.ts.map +1 -1
  420. package/dist/routes/solidRoutes.js +5 -1
  421. package/dist/routes/solidRoutes.js.map +1 -1
  422. package/dist/routes/solidRoutes.tsx +5 -1
  423. package/dist/routes/types.d.ts +1 -1
  424. package/dist/routes/types.d.ts.map +1 -1
  425. package/dist/routes/types.js.map +1 -1
  426. package/dist/routes/types.ts +2 -0
  427. package/dist/types/extension-registry.d.ts +1 -0
  428. package/dist/types/extension-registry.d.ts.map +1 -1
  429. package/dist/types/extension-registry.js +1 -0
  430. package/dist/types/extension-registry.js.map +1 -1
  431. package/dist/types/extension-registry.ts +1 -0
  432. package/dist/types/index.d.ts +2 -0
  433. package/dist/types/solid-core.d.ts +11 -0
  434. package/package.json +1 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SolidForgotPassword.js","sourceRoot":"","sources":["../../../src/components/auth/SolidForgotPassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitiateChangePasswordMutation } from \"../../redux/api/authApi\";\nimport { useFormik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect } from \"react\";\nimport * as Yup from \"yup\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidInput, SolidMessage } from \"../shad-cn-ui\";\n\nconst SolidForgotPassword = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()\n\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const dispatch = useDispatch();\n const router = useRouter();\n const [initiateChangePassword] = useInitiateChangePasswordMutation();\n const validationSchema = Yup.object({\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n });\n function maskEmail(email: string) {\n const [localPart, domain] = email.split('@');\n const maskedLocal = localPart.slice(0, 3) + '*'.repeat(localPart.length - 3);\n const maskedDomain = domain.slice(-8).padStart(domain.length, '*');\n return `${maskedLocal}@${maskedDomain}`;\n }\n\n const formik = useFormik({\n initialValues: {\n email: \"\",\n },\n validationSchema,\n onSubmit: async (values) => {\n try {\n const payload = {\n email: values.email,\n };\n const response = await initiateChangePassword(payload).unwrap();\n if (response?.statusCode === 200) {\n const email = values?.email;\n const maskedEmail = maskEmail(email);\n router.push(`/auth/initiate-forgot-password-thank-you?email=${maskedEmail}`)\n } else (\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: response.error }))\n )\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n },\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <>\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">Forgot password</h2>\n <p className=\"solid-auth-helper\">Enter your email to receive reset instructions</p>\n {/* <p className=\"solid-auth-subtitle text-sm\">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}\n <form onSubmit={formik.handleSubmit}>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email ID\"}\n value={formik.values.email}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n />\n {isFormFieldValid(formik, \"email\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.email?.toString()}\n />\n )}\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Continue\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </form>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Sign In</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidForgotPassword;\n"]}
1
+ {"version":3,"file":"SolidForgotPassword.js","sourceRoot":"","sources":["../../../src/components/auth/SolidForgotPassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitiateChangePasswordMutation } from \"../../redux/api/authApi\";\nimport { useFormik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport * as Yup from \"yup\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidInput, SolidMessage } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\nconst SolidForgotPassword = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n const { solidSettingsData } = useAuthSettings();\n\n const dispatch = useDispatch();\n const router = useRouter();\n const [initiateChangePassword] = useInitiateChangePasswordMutation();\n const validationSchema = Yup.object({\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n });\n function maskEmail(email: string) {\n const [localPart, domain] = email.split('@');\n const maskedLocal = localPart.slice(0, 3) + '*'.repeat(localPart.length - 3);\n const maskedDomain = domain.slice(-8).padStart(domain.length, '*');\n return `${maskedLocal}@${maskedDomain}`;\n }\n\n const formik = useFormik({\n initialValues: {\n email: \"\",\n },\n validationSchema,\n onSubmit: async (values) => {\n try {\n const payload = {\n email: values.email,\n };\n const response = await initiateChangePassword(payload).unwrap();\n if (response?.statusCode === 200) {\n const email = values?.email;\n const maskedEmail = maskEmail(email);\n router.push(`/auth/initiate-forgot-password-thank-you?email=${maskedEmail}`)\n } else (\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: response.error }))\n )\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n },\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <>\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">Forgot password</h2>\n <p className=\"solid-auth-helper\">Enter your email to receive reset instructions</p>\n {/* <p className=\"solid-auth-subtitle text-sm\">By continuing, you agree to the <Link href={'#'}>Terms of Service</Link> and acknowledge you’ve read our <Link href={'#'}>Privacy Policy.</Link> </p> */}\n <form onSubmit={formik.handleSubmit}>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <SolidInput\n id=\"email\"\n name=\"email\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email ID\"}\n value={formik.values.email}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"email\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.email?.toString()}\n />\n )}\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Continue\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </form>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Sign In</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidForgotPassword;\n"]}
@@ -1,20 +1,15 @@
1
1
  import { useInitiateChangePasswordMutation } from "../../redux/api/authApi";
2
2
  import { useFormik } from "formik";
3
3
  import { useRouter } from "../../hooks/useRouter";
4
- import { useEffect } from "react";
5
4
  import * as Yup from "yup";
6
5
  import { ERROR_MESSAGES } from "../../constants/error-messages";
7
- import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
8
6
  import { showToast } from "../../redux/features/toastSlice";
9
7
  import { useDispatch } from "react-redux";
10
8
  import { SolidButton, SolidInput, SolidMessage } from "../shad-cn-ui";
9
+ import { useAuthSettings } from "./AuthSettingsContext";
11
10
 
12
11
  const SolidForgotPassword = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {
13
- const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
14
-
15
- useEffect(() => {
16
- trigger("") // Fetch settings on mount
17
- }, [trigger])
12
+ const { solidSettingsData } = useAuthSettings();
18
13
 
19
14
  const dispatch = useDispatch();
20
15
  const router = useRouter();
@@ -74,6 +69,7 @@ const SolidForgotPassword = ({ signInValidatorLabel, signInValidatorPlaceholder
74
69
  value={formik.values.email}
75
70
  onChange={formik.handleChange}
76
71
  onBlur={formik.handleBlur}
72
+ autoComplete="off"
77
73
  />
78
74
  {isFormFieldValid(formik, "email") && (
79
75
  <SolidMessage
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitialLoginOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,oBAAoB,+CAyNzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"SolidInitialLoginOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,oBAAoB,+CAsNzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
@@ -44,12 +44,12 @@ import { useDispatch } from 'react-redux';
44
44
  import * as Yup from "yup";
45
45
  import { signInWithOtp } from "../../adapters/auth/index";
46
46
  import { ERROR_MESSAGES } from "../../constants/error-messages";
47
- import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
48
47
  import { env } from "../../adapters/env";
49
48
  import { showToast } from "../../redux/features/toastSlice";
50
49
  import { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from "../shad-cn-ui";
51
50
  import { loadSession } from "../../adapters/auth/storage";
52
51
  import { hasAnyRole } from "../../helpers/rolesHelper";
52
+ import { useAuthSettings } from "./AuthSettingsContext";
53
53
  var SolidInitialLoginOtp = function () {
54
54
  var _a;
55
55
  var searchParams = useSearchParams();
@@ -59,15 +59,12 @@ var SolidInitialLoginOtp = function () {
59
59
  var RESEND_OTP_KEY = "resendOtpLogin_".concat(identifier);
60
60
  var RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
61
61
  var RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
62
- var _b = useLazyGetAuthSettingsQuery(), trigger = _b[0], solidSettingsData = _b[1].data;
63
- useEffect(function () {
64
- trigger(""); // Fetch settings on mount
65
- }, [trigger]);
62
+ var solidSettingsData = useAuthSettings().solidSettingsData;
66
63
  var initiateResendOTP = useInitateLoginMutation()[0];
67
64
  var dispatch = useDispatch();
68
65
  var router = useRouter();
69
- var _c = useState(RESEND_OTP_TIMER), timeLeft = _c[0], setTimeLeft = _c[1];
70
- var _d = useState(false), resendEnabled = _d[0], setResendEnabled = _d[1];
66
+ var _b = useState(RESEND_OTP_TIMER), timeLeft = _b[0], setTimeLeft = _b[1];
67
+ var _c = useState(false), resendEnabled = _c[0], setResendEnabled = _c[1];
71
68
  var getDisplayText = function () {
72
69
  switch (type) {
73
70
  case "mobile":
@@ -183,7 +180,6 @@ var SolidInitialLoginOtp = function () {
183
180
  }
184
181
  else {
185
182
  localStorage.removeItem("resendOtpLogin_".concat(identifier));
186
- dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));
187
183
  session = loadSession();
188
184
  isAdmin = hasAnyRole((_b = session === null || session === void 0 ? void 0 : session.user) === null || _b === void 0 ? void 0 : _b.roles, ["Admin"]);
189
185
  isDev = env("VITE_SOLIDX_ENV") === "dev";
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitialLoginOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAGvD,IAAM,oBAAoB,GAAG;;IACzB,IAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,IAAM,cAAc,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACtD,IAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC;IACjD,IAAM,UAAU,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAE5E,IAAM,cAAc,GAAG,yBAAkB,UAAU,CAAE,CAAC;IACtD,IAAM,oBAAoB,GAAG,UAAU,CAAC,GAAG,CAAC,8BAA8B,CAAC,IAAI,KAAK,CAAC,CAAC;IACtF,IAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;IACzD,IAAA,KAAyC,2BAA2B,EAAE,EAArE,OAAO,QAAA,EAAU,iBAAiB,aAAmC,CAAC;IAC7E,SAAS,CAAC;QACN,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC,0BAA0B;IAC1C,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAA;IAEN,IAAA,iBAAiB,GAAI,uBAAuB,EAAE,GAA7B,CAA8B;IACtD,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IACrB,IAAA,KAA0B,QAAQ,CAAC,gBAAgB,CAAC,EAAnD,QAAQ,QAAA,EAAE,WAAW,QAA8B,CAAC;IACrD,IAAA,KAAoC,QAAQ,CAAC,KAAK,CAAC,EAAlD,aAAa,QAAA,EAAE,gBAAgB,QAAmB,CAAC;IAE1D,IAAM,cAAc,GAAG;QACnB,QAAQ,IAAI,EAAE;YACV,KAAK,QAAQ;gBACT,OAAO;oBACH,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,0EAA0E;iBACvF,CAAC;YACN,KAAK,OAAO,CAAC;YACb;gBACI,OAAO;oBACH,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,kEAAkE;iBAC/E,CAAC;SACT;IACL,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,cAAc,EAAE,CAAC;IAErC,SAAS,CAAC;QAEN,mDAAmD;QACnD,IAAM,UAAU,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACxD,IAAI,CAAC,UAAU,EAAE;YACb,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;SAC/D;QAED,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACpE,IAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3D,IAAM,SAAS,GAAG,gBAAgB,GAAG,OAAO,CAAC;QAE7C,IAAI,SAAS,GAAG,CAAC,EAAE;YACf,WAAW,CAAC,SAAS,CAAC,CAAC;YACvB,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAC3B;aAAM;YACH,WAAW,CAAC,CAAC,CAAC,CAAC;YACf,gBAAgB,CAAC,IAAI,CAAC,CAAC;SAC1B;IACL,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,SAAS,CAAC;QACN,IAAI,aAAa,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO;QAE3C,IAAM,QAAQ,GAAG,WAAW,CAAC;YACzB,WAAW,CAAC,UAAC,IAAI;gBACb,IAAI,IAAI,IAAI,CAAC,EAAE;oBACX,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACxB,gBAAgB,CAAC,IAAI,CAAC,CAAC;oBACvB,OAAO,CAAC,CAAC;iBACZ;gBACD,OAAO,IAAI,GAAG,CAAC,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC,EAAE,IAAI,CAAC,CAAC;QAET,OAAO,cAAM,OAAA,aAAa,CAAC,QAAQ,CAAC,EAAvB,CAAuB,CAAC;IACzC,CAAC,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IAAM,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC;QAChC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE;aACZ,OAAO,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACnD,QAAQ,CAAC,cAAc,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KACtD,CAAC,CAAC;IAEH,IAAM,gBAAgB,GAAG,UAAC,MAAW,EAAE,SAAiB;QACpD,OAAA,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAArD,CAAqD,CAAC;IAG1D,IAAM,eAAe,GAAG;;;;;;;oBAEV,OAAO,GAAG;wBACZ,IAAI,EAAE,IAAI;wBACV,UAAU,EAAE,UAAU;qBACzB,CAAC;oBAEe,qBAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAApD,QAAQ,GAAG,SAAyC;oBAE1D,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;wBAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,OAAO,EAAE,CAAC,CAAC,CAAC;wBAClH,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC5D,WAAW,CAAC,gBAAgB,CAAC,CAAC;wBAC9B,gBAAgB,CAAC,KAAK,CAAC,CAAC;qBAC3B;yBAAM;wBACH,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;qBAC3G;;;;oBAED,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA,MAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,0CAAE,OAAO,KAAI,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;;;;;SAErJ,CAAC;IAEF,OAAO,CACH,4BAEI,eAAK,SAAS,EAAE,yBAAkB,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAE,aACzG,aAAI,SAAS,EAAC,kBAAkB,YAAE,WAAW,CAAC,KAAK,GAAM,EACzD,aAAG,SAAS,EAAC,mBAAmB,aAC3B,WAAW,CAAC,QAAQ,EAAE,GAAG,EAC1B,eAAM,SAAS,EAAC,4BAA4B,YAAE,UAAU,GAAQ,IAChE,EACJ,4BACI,KAAC,MAAM,IACH,aAAa,EAAE;4BACX,GAAG,EAAE,EAAE;yBACV,EACD,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAO,MAAM,EAAE,EAA4B;gCAA1B,aAAa,mBAAA,EAAE,SAAS,eAAA;;;;;;;;4CAE1B,qBAAM,aAAa,CAAC;oDACjC,IAAI,EAAE,IAAI;oDACV,UAAU,EAAE,UAAU;oDACtB,GAAG,EAAE,MAAM,CAAC,GAAG;iDAClB,CAAC,EAAA;;4CAJI,QAAQ,GAAG,SAIf;4CAEF,IAAI,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,KAAK,EAAE;gDACjB,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gDACxG,SAAS,CAAC;oDACN,GAAG,EAAE,cAAc,CAAC,WAAW;iDAClC,CAAC,CAAC;6CACN;iDAAM;gDACH,YAAY,CAAC,UAAU,CAAC,yBAAkB,UAAU,CAAE,CAAC,CAAC;gDACxD,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAC,CAAC;gDAC5H,OAAO,GAAG,WAAW,EAAE,CAAC;gDACxB,OAAO,GAAG,UAAU,CAAC,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,0CAAE,KAAK,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;gDACtD,KAAK,GAAG,GAAG,CAAC,iBAAiB,CAAC,KAAK,KAAK,CAAC;gDACzC,WAAW,GAAG,OAAO,IAAI,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,gCAAgC,CAAC,IAAI,QAAQ,CAAC,CAAC;gDACvG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;6CAC5B;;;;4CAED,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,CAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,EAAC,CAAC,CAAC,MAAA,KAAG,aAAH,KAAG,uBAAH,KAAG,CAAE,IAAI,0CAAE,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;;;4CAEzJ,aAAa,CAAC,KAAK,CAAC,CAAC;;;;;;yBAE5B,YAEA,UAAC,MAAM;;4BAAK,OAAA,CACT,MAAC,IAAI,eACD,eAAK,SAAS,EAAC,sBAAsB,aACjC,eAAK,SAAS,EAAC,oBAAoB,aAC/B,gBAAO,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,wBAAwB,kCAA0B,EACjF,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,SAAS,EAAC,uBAAuB,EACjC,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,CAAC,aAAa,EACxB,QAAQ,EAAE,KAAC,SAAS,IAAC,IAAI,EAAC,YAAY,wBAAe,4BAG3C,IACZ,EACN,KAAC,aAAa,IACV,EAAE,EAAC,KAAK,EACR,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,EACxB,QAAQ,EAAE,UAAC,SAAS,IAAK,OAAA,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC,EAAtC,CAAsC,EAC/D,MAAM,EAAE,CAAC,EACT,WAAW,QACX,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAC9B,EACD,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAChC,KAAC,YAAY,IAAC,SAAS,EAAC,sBAAsB,EAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAE,MAAA,MAAM,CAAC,MAAM,CAAC,GAAG,0CAAE,QAAQ,EAAE,GAAI,CAC1G,EACD,YAAG,SAAS,EAAC,qBAAqB,YAC7B,aAAa;oDACV,CAAC,CAAC,qBAAqB;oDACvB,CAAC,CAAC,qBAAc,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;yDACpC,QAAQ,EAAE;yDACV,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,cAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAE,GAC1E,IACF,EACN,eAAK,SAAS,EAAC,MAAM,aACjB,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,sCAAsC,EAChD,KAAK,EAAC,QAAQ,EACd,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,OAAO,EAAE,MAAM,CAAC,YAAY,GAC9B,EACF,KAAC,WAAW,IACR,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,MAAM,EACZ,SAAS,EAAC,0CAA0C,EACpD,IAAI,QACJ,OAAO,EAAE,cAAM,OAAA,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC,EAAtC,CAAsC,GACvD,IACA,IACH,CACV,CAAA;yBAAA,GACI,GACV,IACD,GAMP,CACN,CAAC;AACN,CAAC,CAAC;AAEF,eAAe,oBAAoB,CAAC","sourcesContent":["import { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport * as Yup from \"yup\";\nimport { signInWithOtp } from \"../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from \"../shad-cn-ui\";\nimport { loadSession } from \"../../adapters/auth/storage\";\nimport { hasAnyRole } from \"../../helpers/rolesHelper\";\n\n\nconst SolidInitialLoginOtp = () => {\n const searchParams = useSearchParams();\n const tempIdentifier = searchParams.get('identifier');\n const type = searchParams.get('type') || 'email';\n const identifier = tempIdentifier ? decodeURIComponent(tempIdentifier) : '';\n\n const RESEND_OTP_KEY = `resendOtpLogin_${identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n const [initiateResendOTP] = useInitateLoginMutation();\n const dispatch = useDispatch();\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n const getDisplayText = () => {\n switch (type) {\n case \"mobile\":\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your mobile number to complete verification\"\n };\n case \"email\":\n default:\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your email to complete verification\"\n };\n }\n };\n\n const displayText = getDisplayText();\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [identifier]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n\n const handleResendOtp = async () => {\n try {\n const payload = {\n type: type,\n identifier: identifier,\n };\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n return (\n <>\n\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">{displayText.title}</h2>\n <p className=\"solid-auth-helper\">\n {displayText.subtitle}{\" \"}\n <span className=\"solid-auth-helper-emphasis\">{identifier}</span>\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const response = await signInWithOtp({\n type: type,\n identifier: identifier,\n otp: values.otp,\n });\n\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.INAVLID_OTP, detail: response.error }));\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n } else {\n localStorage.removeItem(`resendOtpLogin_${identifier}`);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));\n const session = loadSession();\n const isAdmin = hasAnyRole(session?.user?.roles, [\"Admin\"]);\n const isDev = env(\"VITE_SOLIDX_ENV\") === \"dev\";\n const redirectUrl = isAdmin && isDev ? \"/studio\" : (env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\");\n router.push(redirectUrl);\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"solid-auth-otp-field\">\n <div className=\"solid-auth-otp-top\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Verification code</label>\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-auth-otp-resend\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n >\n Resend code\n </SolidButton>\n </div>\n <SolidOtpInput\n id=\"otp\"\n className=\"solid-auth-otp-input\"\n value={formik.values.otp}\n onChange={(nextValue) => formik.setFieldValue(\"otp\", nextValue)}\n length={6}\n integerOnly\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <SolidMessage className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <p className=\"solid-auth-otp-time\">\n {resendEnabled\n ? \"You can resend now.\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Verify\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Back</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitialLoginOtp;\n"]}
1
+ {"version":3,"file":"SolidInitialLoginOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitialLoginOtp.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport * as Yup from \"yup\";\nimport { signInWithOtp } from \"../../adapters/auth/index\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from \"../shad-cn-ui\";\nimport { loadSession } from \"../../adapters/auth/storage\";\nimport { hasAnyRole } from \"../../helpers/rolesHelper\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\n\nconst SolidInitialLoginOtp = () => {\n const searchParams = useSearchParams();\n const tempIdentifier = searchParams.get('identifier');\n const type = searchParams.get('type') || 'email';\n const identifier = tempIdentifier ? decodeURIComponent(tempIdentifier) : '';\n\n const RESEND_OTP_KEY = `resendOtpLogin_${identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const { solidSettingsData } = useAuthSettings();\n\n const [initiateResendOTP] = useInitateLoginMutation();\n const dispatch = useDispatch();\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n const getDisplayText = () => {\n switch (type) {\n case \"mobile\":\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your mobile number to complete verification\"\n };\n case \"email\":\n default:\n return {\n title: \"OTP Verification\",\n subtitle: \"Please enter the OTP sent to your email to complete verification\"\n };\n }\n };\n\n const displayText = getDisplayText();\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [identifier]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n\n const handleResendOtp = async () => {\n try {\n const payload = {\n type: type,\n identifier: identifier,\n };\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n return (\n <>\n\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">{displayText.title}</h2>\n <p className=\"solid-auth-helper\">\n {displayText.subtitle}{\" \"}\n <span className=\"solid-auth-helper-emphasis\">{identifier}</span>\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const response = await signInWithOtp({\n type: type,\n identifier: identifier,\n otp: values.otp,\n });\n\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.INAVLID_OTP, detail: response.error }));\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n } else {\n localStorage.removeItem(`resendOtpLogin_${identifier}`);\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));\n const session = loadSession();\n const isAdmin = hasAnyRole(session?.user?.roles, [\"Admin\"]);\n const isDev = env(\"VITE_SOLIDX_ENV\") === \"dev\";\n const redirectUrl = isAdmin && isDev ? \"/studio\" : (env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\");\n router.push(redirectUrl);\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"solid-auth-otp-field\">\n <div className=\"solid-auth-otp-top\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Verification code</label>\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-auth-otp-resend\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n >\n Resend code\n </SolidButton>\n </div>\n <SolidOtpInput\n id=\"otp\"\n className=\"solid-auth-otp-input\"\n value={formik.values.otp}\n onChange={(nextValue) => formik.setFieldValue(\"otp\", nextValue)}\n length={6}\n integerOnly\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <SolidMessage className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <p className=\"solid-auth-otp-time\">\n {resendEnabled\n ? \"You can resend now.\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Verify\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Back</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitialLoginOtp;\n"]}
@@ -7,12 +7,12 @@ import { useDispatch } from 'react-redux';
7
7
  import * as Yup from "yup";
8
8
  import { signInWithOtp } from "../../adapters/auth/index";
9
9
  import { ERROR_MESSAGES } from "../../constants/error-messages";
10
- import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
11
10
  import { env } from "../../adapters/env";
12
11
  import { showToast } from "../../redux/features/toastSlice";
13
12
  import { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from "../shad-cn-ui";
14
13
  import { loadSession } from "../../adapters/auth/storage";
15
14
  import { hasAnyRole } from "../../helpers/rolesHelper";
15
+ import { useAuthSettings } from "./AuthSettingsContext";
16
16
 
17
17
 
18
18
  const SolidInitialLoginOtp = () => {
@@ -24,10 +24,7 @@ const SolidInitialLoginOtp = () => {
24
24
  const RESEND_OTP_KEY = `resendOtpLogin_${identifier}`;
25
25
  const RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
26
26
  const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
27
- const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
28
- useEffect(() => {
29
- trigger("") // Fetch settings on mount
30
- }, [trigger])
27
+ const { solidSettingsData } = useAuthSettings();
31
28
 
32
29
  const [initiateResendOTP] = useInitateLoginMutation();
33
30
  const dispatch = useDispatch();
@@ -153,7 +150,7 @@ const SolidInitialLoginOtp = () => {
153
150
  });
154
151
  } else {
155
152
  localStorage.removeItem(`resendOtpLogin_${identifier}`);
156
- dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));
153
+ // dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));
157
154
  const session = loadSession();
158
155
  const isAdmin = hasAnyRole(session?.user?.roles, ["Admin"]);
159
156
  const isDev = env("VITE_SOLIDX_ENV") === "dev";
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitiateRegisterOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitiateRegisterOtp.tsx"],"names":[],"mappings":"AAaA,QAAA,MAAM,wBAAwB,+CAqM7B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"SolidInitiateRegisterOtp.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidInitiateRegisterOtp.tsx"],"names":[],"mappings":"AAaA,QAAA,MAAM,wBAAwB,+CAiN7B,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -43,23 +43,31 @@ import { useEffect, useState } from "react";
43
43
  import { useDispatch } from 'react-redux';
44
44
  import * as Yup from "yup";
45
45
  import { ERROR_MESSAGES } from "../../constants/error-messages";
46
- import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
47
46
  import { env } from "../../adapters/env";
48
47
  import { showToast } from "../../redux/features/toastSlice";
49
48
  import { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from "../shad-cn-ui";
49
+ import { useAuthSettings } from "./AuthSettingsContext";
50
50
  var SolidInitiateRegisterOtp = function () {
51
- var _a;
51
+ var _a, _b;
52
52
  var searchParams = useSearchParams();
53
+ var solidSettingsData = useAuthSettings().solidSettingsData;
54
+ var settingValidationType = ((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.passwordlessRegistrationValidateWhat) === "mobile" ? "mobile" : "email";
55
+ var queryType = searchParams.get('type');
56
+ var validationType = queryType === "mobile" || queryType === "email"
57
+ ? queryType
58
+ : settingValidationType;
53
59
  var tempEmail = searchParams.get('email');
54
60
  var email = tempEmail ? decodeURIComponent(tempEmail) : '';
55
- var RESEND_OTP_KEY = "resendOtpRegister_".concat(email);
61
+ var tempMobile = searchParams.get('mobile');
62
+ var mobile = tempMobile ? decodeURIComponent(tempMobile) : '';
63
+ var tempIdentifier = searchParams.get('identifier');
64
+ var identifier = tempIdentifier
65
+ ? decodeURIComponent(tempIdentifier)
66
+ : (validationType === "mobile" ? mobile : email);
67
+ var RESEND_OTP_KEY = "resendOtpRegister_".concat(identifier);
56
68
  var RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
57
69
  var RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
58
70
  var username = searchParams.get('username') || '';
59
- var _b = useLazyGetAuthSettingsQuery(), trigger = _b[0], solidSettingsData = _b[1].data;
60
- useEffect(function () {
61
- trigger(""); // Fetch settings on mount
62
- }, [trigger]);
63
71
  var initiateResendOTP = useInitateRegisterMutation()[0];
64
72
  var initiateOtpRegister = useConfirmOtpRegisterMutation()[0];
65
73
  var dispatch = useDispatch();
@@ -83,7 +91,7 @@ var SolidInitiateRegisterOtp = function () {
83
91
  setTimeLeft(0);
84
92
  setResendEnabled(true);
85
93
  }
86
- }, [email]);
94
+ }, [identifier]);
87
95
  useEffect(function () {
88
96
  if (resendEnabled || timeLeft <= 0)
89
97
  return;
@@ -116,9 +124,14 @@ var SolidInitiateRegisterOtp = function () {
116
124
  _c.trys.push([0, 2, , 3]);
117
125
  payload = {
118
126
  username: username,
119
- email: email,
120
- validationSources: ["email"]
127
+ validationSources: [validationType],
121
128
  };
129
+ if (validationType === "mobile") {
130
+ payload.mobile = identifier;
131
+ }
132
+ else {
133
+ payload.email = identifier;
134
+ }
122
135
  return [4 /*yield*/, initiateResendOTP(payload).unwrap()];
123
136
  case 1:
124
137
  response = _c.sent();
@@ -140,7 +153,7 @@ var SolidInitiateRegisterOtp = function () {
140
153
  }
141
154
  });
142
155
  }); };
143
- return (_jsx(_Fragment, { children: _jsxs("div", { className: "auth-container ".concat(((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.authPagesLayout) === 'center' ? 'center' : 'side'), children: [_jsx("h2", { className: "solid-auth-title", children: "OTP verification" }), _jsxs("p", { className: "solid-auth-helper", children: ["Please enter the OTP sent to your email to complete verification", " ", _jsx("span", { className: "solid-auth-helper-emphasis", children: email })] }), _jsx(_Fragment, { children: _jsx(Formik, { initialValues: {
156
+ return (_jsx(_Fragment, { children: _jsxs("div", { className: "auth-container ".concat(((_b = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _b === void 0 ? void 0 : _b.authPagesLayout) === 'center' ? 'center' : 'side'), children: [_jsx("h2", { className: "solid-auth-title", children: "OTP verification" }), _jsxs("p", { className: "solid-auth-helper", children: ["Please enter the OTP sent to your ", validationType === "mobile" ? "mobile" : "email", " to complete verification", " ", _jsx("span", { className: "solid-auth-helper-emphasis", children: identifier })] }), _jsx(_Fragment, { children: _jsx(Formik, { initialValues: {
144
157
  otp: "",
145
158
  }, validationSchema: validationSchema, onSubmit: function (values, _a) {
146
159
  var setSubmitting = _a.setSubmitting, setErrors = _a.setErrors;
@@ -152,15 +165,15 @@ var SolidInitiateRegisterOtp = function () {
152
165
  case 0:
153
166
  _c.trys.push([0, 2, 3, 4]);
154
167
  payload = {
155
- type: "email",
156
- identifier: email,
168
+ type: validationType,
169
+ identifier: identifier,
157
170
  otp: values.otp
158
171
  };
159
172
  return [4 /*yield*/, initiateOtpRegister(payload).unwrap()];
160
173
  case 1:
161
174
  response = _c.sent();
162
175
  if ((response === null || response === void 0 ? void 0 : response.statusCode) === 200) {
163
- localStorage.removeItem("resendOtpRegister_".concat(email));
176
+ localStorage.removeItem("resendOtpRegister_".concat(identifier));
164
177
  dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LOGIN_SUCCESSFULLY, detail: "Login" }));
165
178
  router.push("/auth/login");
166
179
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SolidInitiateRegisterOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitiateRegisterOtp.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmOtpRegisterMutation, useInitateRegisterMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport * as Yup from \"yup\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from \"../shad-cn-ui\";\n\nconst SolidInitiateRegisterOtp = () => {\n const searchParams = useSearchParams();\n const tempEmail = searchParams.get('email');\n const email = tempEmail ? decodeURIComponent(tempEmail) : '';\n const RESEND_OTP_KEY = `resendOtpRegister_${email}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const username = searchParams.get('username') || '';\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n useEffect(() => {\n trigger(\"\") // Fetch settings on mount\n }, [trigger])\n\n\n const [initiateResendOTP] = useInitateRegisterMutation();\n const [initiateOtpRegister] = useConfirmOtpRegisterMutation();\n const dispatch = useDispatch();\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [email]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const handleResendOtp = async () => {\n try {\n const payload = {\n username: username,\n email: email,\n validationSources: [\"email\"]\n };\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n return (\n <>\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">OTP verification</h2>\n <p className=\"solid-auth-helper\">\n Please enter the OTP sent to your email to complete verification{\" \"}\n <span className=\"solid-auth-helper-emphasis\">{email}</span>\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const payload = {\n type: \"email\",\n identifier: email,\n otp: values.otp\n };\n\n const response = await initiateOtpRegister(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n localStorage.removeItem(`resendOtpRegister_${email}`);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESSFULLY, detail: \"Login\" }));\n router.push(`/auth/login`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.INAVLID_OTP, detail: response.error }));\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"solid-auth-otp-field\">\n <div className=\"solid-auth-otp-top\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Verification code</label>\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-auth-otp-resend\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n >\n Resend code\n </SolidButton>\n </div>\n <SolidOtpInput\n id=\"otp\"\n className=\"solid-auth-otp-input\"\n value={formik.values.otp}\n onChange={(nextValue) => formik.setFieldValue(\"otp\", nextValue)}\n length={6}\n integerOnly\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <SolidMessage className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <p className=\"solid-auth-otp-time\">\n {resendEnabled\n ? \"You can resend now.\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Verify\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Sign In</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitiateRegisterOtp;\n"]}
1
+ {"version":3,"file":"SolidInitiateRegisterOtp.js","sourceRoot":"","sources":["../../../src/components/auth/SolidInitiateRegisterOtp.tsx"],"names":[],"mappings":"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","sourcesContent":["import { useConfirmOtpRegisterMutation, useInitateRegisterMutation } from \"../../redux/api/authApi\";\nimport { Form, Formik } from \"formik\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useSearchParams } from \"../../hooks/useSearchParams\";\nimport { useEffect, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport * as Yup from \"yup\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\nconst SolidInitiateRegisterOtp = () => {\n const searchParams = useSearchParams();\n const { solidSettingsData } = useAuthSettings();\n const settingValidationType = solidSettingsData?.data?.passwordlessRegistrationValidateWhat === \"mobile\" ? \"mobile\" : \"email\";\n const queryType = searchParams.get('type');\n const validationType: \"email\" | \"mobile\" = queryType === \"mobile\" || queryType === \"email\"\n ? (queryType as \"email\" | \"mobile\")\n : settingValidationType;\n const tempEmail = searchParams.get('email');\n const email = tempEmail ? decodeURIComponent(tempEmail) : '';\n const tempMobile = searchParams.get('mobile');\n const mobile = tempMobile ? decodeURIComponent(tempMobile) : '';\n const tempIdentifier = searchParams.get('identifier');\n const identifier = tempIdentifier\n ? decodeURIComponent(tempIdentifier)\n : (validationType === \"mobile\" ? mobile : email);\n const RESEND_OTP_KEY = `resendOtpRegister_${identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n const username = searchParams.get('username') || '';\n\n\n const [initiateResendOTP] = useInitateRegisterMutation();\n const [initiateOtpRegister] = useConfirmOtpRegisterMutation();\n const dispatch = useDispatch();\n const router = useRouter();\n const [timeLeft, setTimeLeft] = useState(RESEND_OTP_TIMER);\n const [resendEnabled, setResendEnabled] = useState(false);\n\n useEffect(() => {\n\n // Set timer if not already set (e.g., after login)\n const storedTime = localStorage.getItem(RESEND_OTP_KEY);\n if (!storedTime) {\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n }\n\n const lastSent = storedTime ? parseInt(storedTime, 10) : Date.now();\n const elapsed = Math.floor((Date.now() - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n setTimeLeft(remaining);\n setResendEnabled(false);\n } else {\n setTimeLeft(0);\n setResendEnabled(true);\n }\n }, [identifier]);\n\n useEffect(() => {\n if (resendEnabled || timeLeft <= 0) return;\n\n const interval = setInterval(() => {\n setTimeLeft((prev) => {\n if (prev <= 1) {\n clearInterval(interval);\n setResendEnabled(true);\n return 0;\n }\n return prev - 1;\n });\n }, 1000);\n\n return () => clearInterval(interval);\n }, [resendEnabled, timeLeft]);\n\n const validationSchema = Yup.object({\n otp: Yup.string()\n .matches(/^\\d{6}$/, ERROR_MESSAGES.OTP_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('OTP')),\n });\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n const handleResendOtp = async () => {\n try {\n const payload: Record<string, any> = {\n username: username,\n validationSources: [validationType],\n };\n if (validationType === \"mobile\") {\n payload.mobile = identifier;\n } else {\n payload.email = identifier;\n }\n\n const response = await initiateResendOTP(payload).unwrap();\n\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n localStorage.setItem(RESEND_OTP_KEY, Date.now().toString());\n setTimeLeft(RESEND_OTP_TIMER);\n setResendEnabled(false);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data?.message || ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n };\n\n return (\n <>\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">OTP verification</h2>\n <p className=\"solid-auth-helper\">\n Please enter the OTP sent to your {validationType === \"mobile\" ? \"mobile\" : \"email\"} to complete verification{\" \"}\n <span className=\"solid-auth-helper-emphasis\">{identifier}</span>\n </p>\n <>\n <Formik\n initialValues={{\n otp: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const payload = {\n type: validationType,\n identifier,\n otp: values.otp\n };\n\n const response = await initiateOtpRegister(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n localStorage.removeItem(`resendOtpRegister_${identifier}`);\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESSFULLY, detail: \"Login\" }));\n router.push(`/auth/login`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.INAVLID_OTP, detail: response.error }));\n setErrors({\n otp: ERROR_MESSAGES.INAVLID_OTP,\n });\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"solid-auth-otp-field\">\n <div className=\"solid-auth-otp-top\">\n <label htmlFor=\"otp\" className=\"solid-auth-input-label\">Verification code</label>\n <SolidButton\n type=\"button\"\n variant=\"outline\"\n size=\"sm\"\n className=\"solid-auth-otp-resend\"\n onClick={handleResendOtp}\n disabled={!resendEnabled}\n leftIcon={<SolidIcon name=\"si-refresh\" aria-hidden />}\n >\n Resend code\n </SolidButton>\n </div>\n <SolidOtpInput\n id=\"otp\"\n className=\"solid-auth-otp-input\"\n value={formik.values.otp}\n onChange={(nextValue) => formik.setFieldValue(\"otp\", nextValue)}\n length={6}\n integerOnly\n invalid={!!formik.errors.otp}\n />\n {isFormFieldValid(formik, \"otp\") && (\n <SolidMessage className=\"text-red-500 text-sm\" severity=\"error\" text={formik.errors.otp?.toString()} />\n )}\n <p className=\"solid-auth-otp-time\">\n {resendEnabled\n ? \"You can resend now.\"\n : `Time left: ${Math.floor(timeLeft / 60)\n .toString()\n .padStart(2, \"0\")}:${(timeLeft % 60).toString().padStart(2, \"0\")}`}\n </p>\n </div>\n <div className=\"mt-4\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Verify\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n <SolidButton\n type=\"button\"\n label=\"Back\"\n className=\"w-full auth-back-button text-center mt-1\"\n text\n onClick={() => (window.location.href = '/auth/login')}\n />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n {/* <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Sign In</Link>\n </div>\n </div> */}\n </>\n );\n};\n\nexport default SolidInitiateRegisterOtp;\n"]}
@@ -6,23 +6,31 @@ import { useEffect, useState } from "react";
6
6
  import { useDispatch } from 'react-redux';
7
7
  import * as Yup from "yup";
8
8
  import { ERROR_MESSAGES } from "../../constants/error-messages";
9
- import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
10
9
  import { env } from "../../adapters/env";
11
10
  import { showToast } from "../../redux/features/toastSlice";
12
11
  import { SolidButton, SolidIcon, SolidMessage, SolidOtpInput } from "../shad-cn-ui";
12
+ import { useAuthSettings } from "./AuthSettingsContext";
13
13
 
14
14
  const SolidInitiateRegisterOtp = () => {
15
15
  const searchParams = useSearchParams();
16
+ const { solidSettingsData } = useAuthSettings();
17
+ const settingValidationType = solidSettingsData?.data?.passwordlessRegistrationValidateWhat === "mobile" ? "mobile" : "email";
18
+ const queryType = searchParams.get('type');
19
+ const validationType: "email" | "mobile" = queryType === "mobile" || queryType === "email"
20
+ ? (queryType as "email" | "mobile")
21
+ : settingValidationType;
16
22
  const tempEmail = searchParams.get('email');
17
23
  const email = tempEmail ? decodeURIComponent(tempEmail) : '';
18
- const RESEND_OTP_KEY = `resendOtpRegister_${email}`;
24
+ const tempMobile = searchParams.get('mobile');
25
+ const mobile = tempMobile ? decodeURIComponent(tempMobile) : '';
26
+ const tempIdentifier = searchParams.get('identifier');
27
+ const identifier = tempIdentifier
28
+ ? decodeURIComponent(tempIdentifier)
29
+ : (validationType === "mobile" ? mobile : email);
30
+ const RESEND_OTP_KEY = `resendOtpRegister_${identifier}`;
19
31
  const RESEND_OTP_TIMER_MIN = parseFloat(env("NEXT_PUBLIC_RESEND_OTP_TIMER") || '0.5');
20
32
  const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);
21
33
  const username = searchParams.get('username') || '';
22
- const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
23
- useEffect(() => {
24
- trigger("") // Fetch settings on mount
25
- }, [trigger])
26
34
 
27
35
 
28
36
  const [initiateResendOTP] = useInitateRegisterMutation();
@@ -51,7 +59,7 @@ const SolidInitiateRegisterOtp = () => {
51
59
  setTimeLeft(0);
52
60
  setResendEnabled(true);
53
61
  }
54
- }, [email]);
62
+ }, [identifier]);
55
63
 
56
64
  useEffect(() => {
57
65
  if (resendEnabled || timeLeft <= 0) return;
@@ -81,11 +89,15 @@ const SolidInitiateRegisterOtp = () => {
81
89
 
82
90
  const handleResendOtp = async () => {
83
91
  try {
84
- const payload = {
92
+ const payload: Record<string, any> = {
85
93
  username: username,
86
- email: email,
87
- validationSources: ["email"]
94
+ validationSources: [validationType],
88
95
  };
96
+ if (validationType === "mobile") {
97
+ payload.mobile = identifier;
98
+ } else {
99
+ payload.email = identifier;
100
+ }
89
101
 
90
102
  const response = await initiateResendOTP(payload).unwrap();
91
103
 
@@ -107,8 +119,8 @@ const SolidInitiateRegisterOtp = () => {
107
119
  <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>
108
120
  <h2 className="solid-auth-title">OTP verification</h2>
109
121
  <p className="solid-auth-helper">
110
- Please enter the OTP sent to your email to complete verification{" "}
111
- <span className="solid-auth-helper-emphasis">{email}</span>
122
+ Please enter the OTP sent to your {validationType === "mobile" ? "mobile" : "email"} to complete verification{" "}
123
+ <span className="solid-auth-helper-emphasis">{identifier}</span>
112
124
  </p>
113
125
  <>
114
126
  <Formik
@@ -119,15 +131,15 @@ const SolidInitiateRegisterOtp = () => {
119
131
  onSubmit={async (values, { setSubmitting, setErrors }) => {
120
132
  try {
121
133
  const payload = {
122
- type: "email",
123
- identifier: email,
134
+ type: validationType,
135
+ identifier,
124
136
  otp: values.otp
125
137
  };
126
138
 
127
139
  const response = await initiateOtpRegister(payload).unwrap(); // Call mutation trigger
128
140
 
129
141
  if (response?.statusCode === 200) {
130
- localStorage.removeItem(`resendOtpRegister_${email}`);
142
+ localStorage.removeItem(`resendOtpRegister_${identifier}`);
131
143
  dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.LOGIN_SUCCESSFULLY, detail: "Login" }));
132
144
  router.push(`/auth/login`);
133
145
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,UAAU,yDAA0D,GAAG,4CA4W5E,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,UAAU,yDAA0D,GAAG,4CAuX5E,CAAC;AAEF,eAAe,UAAU,CAAC"}