@solidxai/core-ui 0.1.5-beta.10 → 0.1.5-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/dist/components/auth/GoogleAuthChecking.d.ts.map +1 -1
  2. package/dist/components/auth/GoogleAuthChecking.js +10 -10
  3. package/dist/components/auth/GoogleAuthChecking.js.map +1 -1
  4. package/dist/components/auth/GoogleAuthChecking.tsx +8 -9
  5. package/dist/components/auth/SolidChangeForcePassword.d.ts.map +1 -1
  6. package/dist/components/auth/SolidChangeForcePassword.js +9 -10
  7. package/dist/components/auth/SolidChangeForcePassword.js.map +1 -1
  8. package/dist/components/auth/SolidChangeForcePassword.tsx +6 -9
  9. package/dist/components/auth/SolidForgotPassword.d.ts.map +1 -1
  10. package/dist/components/auth/SolidForgotPassword.js +8 -8
  11. package/dist/components/auth/SolidForgotPassword.js.map +1 -1
  12. package/dist/components/auth/SolidForgotPassword.tsx +6 -8
  13. package/dist/components/auth/SolidInitialLoginOtp.d.ts.map +1 -1
  14. package/dist/components/auth/SolidInitialLoginOtp.js +57 -57
  15. package/dist/components/auth/SolidInitialLoginOtp.js.map +1 -1
  16. package/dist/components/auth/SolidInitialLoginOtp.tsx +10 -11
  17. package/dist/components/auth/SolidInitiateRegisterOtp.d.ts.map +1 -1
  18. package/dist/components/auth/SolidInitiateRegisterOtp.js +57 -57
  19. package/dist/components/auth/SolidInitiateRegisterOtp.js.map +1 -1
  20. package/dist/components/auth/SolidInitiateRegisterOtp.tsx +10 -11
  21. package/dist/components/auth/SolidLogin.d.ts.map +1 -1
  22. package/dist/components/auth/SolidLogin.js +12 -12
  23. package/dist/components/auth/SolidLogin.js.map +1 -1
  24. package/dist/components/auth/SolidLogin.tsx +11 -16
  25. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  26. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  27. package/dist/components/auth/SolidOTPVerify.js +67 -0
  28. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  29. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  30. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  31. package/dist/components/auth/SolidRegister.js +19 -19
  32. package/dist/components/auth/SolidRegister.js.map +1 -1
  33. package/dist/components/auth/SolidRegister.tsx +18 -23
  34. package/dist/components/auth/SolidResetPassword.d.ts.map +1 -1
  35. package/dist/components/auth/SolidResetPassword.js +15 -15
  36. package/dist/components/auth/SolidResetPassword.js.map +1 -1
  37. package/dist/components/auth/SolidResetPassword.tsx +7 -8
  38. package/dist/components/common/AuthBanner.js.map +1 -1
  39. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  40. package/dist/components/common/GeneralSettings.js +87 -120
  41. package/dist/components/common/GeneralSettings.js.map +1 -1
  42. package/dist/components/common/GeneralSettings.tsx +12 -42
  43. package/dist/components/common/GlobalToast.d.ts +2 -0
  44. package/dist/components/common/GlobalToast.d.ts.map +1 -0
  45. package/dist/components/common/GlobalToast.js +25 -0
  46. package/dist/components/common/GlobalToast.js.map +1 -0
  47. package/dist/components/common/GlobalToast.tsx +25 -0
  48. package/dist/components/common/SolidExport.d.ts.map +1 -1
  49. package/dist/components/common/SolidExport.js +19 -31
  50. package/dist/components/common/SolidExport.js.map +1 -1
  51. package/dist/components/common/SolidExport.tsx +7 -19
  52. package/dist/components/common/SolidFormStepper.d.ts.map +1 -1
  53. package/dist/components/common/SolidFormStepper.js +41 -41
  54. package/dist/components/common/SolidFormStepper.js.map +1 -1
  55. package/dist/components/common/SolidFormStepper.tsx +5 -6
  56. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  57. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  58. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  59. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  60. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  61. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.d.ts.map +1 -1
  62. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js +9 -9
  63. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.js.map +1 -1
  64. package/dist/components/core/common/SolidAccountSettings/SolidChangePassword.tsx +8 -9
  65. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.d.ts.map +1 -1
  66. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js +8 -8
  67. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.js.map +1 -1
  68. package/dist/components/core/common/SolidAccountSettings/SolidNotifications.tsx +7 -9
  69. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.d.ts.map +1 -1
  70. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js +11 -11
  71. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.js.map +1 -1
  72. package/dist/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx +10 -11
  73. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.d.ts.map +1 -1
  74. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js +9 -9
  75. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.js.map +1 -1
  76. package/dist/components/core/common/SolidGenericImport/SolidImportDropzone.tsx +8 -9
  77. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.d.ts.map +1 -1
  78. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js +7 -7
  79. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.js.map +1 -1
  80. package/dist/components/core/common/SolidGenericImport/SolidImportTransaction.tsx +6 -7
  81. package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
  82. package/dist/components/core/common/SolidGlobalSearchElement.js +78 -21
  83. package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
  84. package/dist/components/core/common/SolidGlobalSearchElement.tsx +65 -10
  85. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.d.ts.map +1 -1
  86. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js +6 -8
  87. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.js.map +1 -1
  88. package/dist/components/core/extension/solid-core/modelMetadata/list/DeleteModelRowAction.tsx +5 -9
  89. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.d.ts.map +1 -1
  90. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +9 -11
  91. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
  92. package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +5 -10
  93. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.d.ts.map +1 -1
  94. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js +5 -6
  95. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.js.map +1 -1
  96. package/dist/components/core/extension/solid-core/moduleMetadata/list/DeleteModuleRowAction.tsx +5 -8
  97. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.d.ts.map +1 -1
  98. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +10 -12
  99. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
  100. package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +6 -11
  101. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.d.ts.map +1 -1
  102. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js +11 -6
  103. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.js.map +1 -1
  104. package/dist/components/core/extension/solid-core/roleMetadata/RolePermissionsManyToManyFieldWidget.tsx +13 -1
  105. package/dist/components/core/form/SolidFormUserViewLayout.d.ts.map +1 -1
  106. package/dist/components/core/form/SolidFormUserViewLayout.js +7 -8
  107. package/dist/components/core/form/SolidFormUserViewLayout.js.map +1 -1
  108. package/dist/components/core/form/SolidFormUserViewLayout.tsx +5 -7
  109. package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
  110. package/dist/components/core/form/SolidFormView.js +12 -21
  111. package/dist/components/core/form/SolidFormView.js.map +1 -1
  112. package/dist/components/core/form/SolidFormView.tsx +11 -33
  113. package/dist/components/core/form/fields/SolidMediaSingleField.d.ts.map +1 -1
  114. package/dist/components/core/form/fields/SolidMediaSingleField.js +22 -15
  115. package/dist/components/core/form/fields/SolidMediaSingleField.js.map +1 -1
  116. package/dist/components/core/form/fields/SolidMediaSingleField.tsx +14 -2
  117. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.d.ts.map +1 -1
  118. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js +37 -26
  119. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.js.map +1 -1
  120. package/dist/components/core/form/fields/relations/SolidRelationManyToManyField.tsx +38 -5
  121. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.d.ts.map +1 -1
  122. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js +11 -11
  123. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.js.map +1 -1
  124. package/dist/components/core/form/fields/relations/SolidRelationManyToOneField.tsx +9 -11
  125. package/dist/components/core/kanban/KanbanUserViewLayout.d.ts.map +1 -1
  126. package/dist/components/core/kanban/KanbanUserViewLayout.js +7 -8
  127. package/dist/components/core/kanban/KanbanUserViewLayout.js.map +1 -1
  128. package/dist/components/core/kanban/KanbanUserViewLayout.tsx +4 -6
  129. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  130. package/dist/components/core/kanban/SolidKanbanView.js +5 -7
  131. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  132. package/dist/components/core/kanban/SolidKanbanView.tsx +4 -9
  133. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.d.ts.map +1 -1
  134. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js +13 -13
  135. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.js.map +1 -1
  136. package/dist/components/core/list/SolidColumnSelector/SolidListColumnSelector.tsx +5 -6
  137. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  138. package/dist/components/core/list/SolidListView.js +20 -67
  139. package/dist/components/core/list/SolidListView.js.map +1 -1
  140. package/dist/components/core/list/SolidListView.tsx +9 -76
  141. package/dist/components/core/model/CreateModel.d.ts.map +1 -1
  142. package/dist/components/core/model/CreateModel.js +15 -25
  143. package/dist/components/core/model/CreateModel.js.map +1 -1
  144. package/dist/components/core/model/CreateModel.tsx +12 -32
  145. package/dist/components/core/model/FieldMetaData.d.ts.map +1 -1
  146. package/dist/components/core/model/FieldMetaData.js +6 -17
  147. package/dist/components/core/model/FieldMetaData.js.map +1 -1
  148. package/dist/components/core/model/FieldMetaData.tsx +5 -26
  149. package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
  150. package/dist/components/core/model/ModelMetaData.js +48 -55
  151. package/dist/components/core/model/ModelMetaData.js.map +1 -1
  152. package/dist/components/core/model/ModelMetaData.tsx +4 -22
  153. package/dist/components/core/module/CreateModule.d.ts.map +1 -1
  154. package/dist/components/core/module/CreateModule.js +42 -44
  155. package/dist/components/core/module/CreateModule.js.map +1 -1
  156. package/dist/components/core/module/CreateModule.tsx +13 -27
  157. package/dist/components/core/module/ModuleListViewData.d.ts.map +1 -1
  158. package/dist/components/core/module/ModuleListViewData.js +11 -7
  159. package/dist/components/core/module/ModuleListViewData.js.map +1 -1
  160. package/dist/components/core/module/ModuleListViewData.tsx +10 -8
  161. package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
  162. package/dist/components/core/tree/SolidTreeView.js +32 -69
  163. package/dist/components/core/tree/SolidTreeView.js.map +1 -1
  164. package/dist/components/core/tree/SolidTreeView.tsx +8 -47
  165. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  166. package/dist/components/core/users/CreateUser.js +24 -37
  167. package/dist/components/core/users/CreateUser.js.map +1 -1
  168. package/dist/components/core/users/CreateUser.tsx +8 -46
  169. package/dist/components/core/users/UserListView.d.ts.map +1 -1
  170. package/dist/components/core/users/UserListView.js +9 -16
  171. package/dist/components/core/users/UserListView.js.map +1 -1
  172. package/dist/components/core/users/UserListView.tsx +5 -21
  173. package/dist/components/layout/AdminLayout.d.ts.map +1 -1
  174. package/dist/components/layout/AdminLayout.js +4 -2
  175. package/dist/components/layout/AdminLayout.js.map +1 -1
  176. package/dist/components/layout/AdminLayout.tsx +4 -2
  177. package/dist/components/layout/AppSidebar.d.ts.map +1 -1
  178. package/dist/components/layout/AppSidebar.js +1 -2
  179. package/dist/components/layout/AppSidebar.js.map +1 -1
  180. package/dist/components/layout/AppSidebar.tsx +0 -2
  181. package/dist/components/layout/Layout.d.ts.map +1 -1
  182. package/dist/components/layout/Layout.js +2 -1
  183. package/dist/components/layout/Layout.js.map +1 -1
  184. package/dist/components/layout/Layout.tsx +2 -0
  185. package/dist/components/layout/navbar-one.d.ts.map +1 -1
  186. package/dist/components/layout/navbar-one.js +1 -2
  187. package/dist/components/layout/navbar-one.js.map +1 -1
  188. package/dist/components/layout/navbar-one.tsx +0 -2
  189. package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
  190. package/dist/components/layout/navbar-two-menu.js +50 -24
  191. package/dist/components/layout/navbar-two-menu.js.map +1 -1
  192. package/dist/components/layout/navbar-two-menu.tsx +48 -30
  193. package/dist/index.d.ts +4 -0
  194. package/dist/index.d.ts.map +1 -1
  195. package/dist/index.js +3 -0
  196. package/dist/index.js.map +1 -1
  197. package/dist/index.ts +4 -0
  198. package/dist/nextAuth/authProviders.d.ts +4 -0
  199. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  200. package/dist/nextAuth/authProviders.js +198 -0
  201. package/dist/nextAuth/authProviders.js.map +1 -0
  202. package/dist/nextAuth/authProviders.tsx +232 -0
  203. package/dist/nextAuth/handleLogout.d.ts +2 -0
  204. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  205. package/dist/nextAuth/handleLogout.js +36 -0
  206. package/dist/nextAuth/handleLogout.js.map +1 -0
  207. package/dist/nextAuth/handleLogout.tsx +39 -0
  208. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  209. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  210. package/dist/nextAuth/refreshAccessToken.js +24 -0
  211. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  212. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  213. package/dist/redux/features/settingsSlice.d.ts +20 -0
  214. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  215. package/dist/redux/features/settingsSlice.js +39 -0
  216. package/dist/redux/features/settingsSlice.js.map +1 -0
  217. package/dist/redux/features/settingsSlice.ts +60 -0
  218. package/dist/redux/features/toastSlice.d.ts +15 -0
  219. package/dist/redux/features/toastSlice.d.ts.map +1 -0
  220. package/dist/redux/features/toastSlice.js +20 -0
  221. package/dist/redux/features/toastSlice.js.map +1 -0
  222. package/dist/redux/features/toastSlice.ts +35 -0
  223. package/dist/redux/store/defaultStoreConfig.d.ts +1 -0
  224. package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
  225. package/dist/redux/store/defaultStoreConfig.js +2 -1
  226. package/dist/redux/store/defaultStoreConfig.js.map +1 -1
  227. package/dist/redux/store/defaultStoreConfig.ts +2 -0
  228. package/package.json +1 -1
  229. package/dist/components/auth/AuthTabs.d.ts +0 -14
  230. package/dist/components/auth/AuthTabs.d.ts.map +0 -1
  231. package/dist/components/auth/AuthTabs.js +0 -19
  232. package/dist/components/auth/AuthTabs.js.map +0 -1
  233. package/dist/components/auth/AuthTabs.tsx +0 -38
  234. package/dist/components/common/SolidErrorStatePage.d.ts +0 -12
  235. package/dist/components/common/SolidErrorStatePage.d.ts.map +0 -1
  236. package/dist/components/common/SolidErrorStatePage.js +0 -16
  237. package/dist/components/common/SolidErrorStatePage.js.map +0 -1
  238. package/dist/components/common/SolidErrorStatePage.tsx +0 -55
  239. package/dist/components/core/list/PLAN.md +0 -92
  240. package/dist/components/core/list/SolidDataTable.d.ts +0 -58
  241. package/dist/components/core/list/SolidDataTable.d.ts.map +0 -1
  242. package/dist/components/core/list/SolidDataTable.js +0 -141
  243. package/dist/components/core/list/SolidDataTable.js.map +0 -1
  244. package/dist/components/core/list/SolidDataTable.tsx +0 -314
  245. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  246. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  247. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  248. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  249. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  250. package/dist/components/layout/AdminTopHeader.d.ts +0 -2
  251. package/dist/components/layout/AdminTopHeader.d.ts.map +0 -1
  252. package/dist/components/layout/AdminTopHeader.js +0 -68
  253. package/dist/components/layout/AdminTopHeader.js.map +0 -1
  254. package/dist/components/layout/AdminTopHeader.tsx +0 -135
  255. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts +0 -24
  256. package/dist/components/shad-cn-ui/SolidAutocomplete.d.ts.map +0 -1
  257. package/dist/components/shad-cn-ui/SolidAutocomplete.js +0 -224
  258. package/dist/components/shad-cn-ui/SolidAutocomplete.js.map +0 -1
  259. package/dist/components/shad-cn-ui/SolidAutocomplete.tsx +0 -339
  260. package/dist/components/shad-cn-ui/SolidButton.d.ts +0 -14
  261. package/dist/components/shad-cn-ui/SolidButton.d.ts.map +0 -1
  262. package/dist/components/shad-cn-ui/SolidButton.js +0 -36
  263. package/dist/components/shad-cn-ui/SolidButton.js.map +0 -1
  264. package/dist/components/shad-cn-ui/SolidButton.tsx +0 -54
  265. package/dist/components/shad-cn-ui/SolidInput.d.ts +0 -5
  266. package/dist/components/shad-cn-ui/SolidInput.d.ts.map +0 -1
  267. package/dist/components/shad-cn-ui/SolidInput.js +0 -35
  268. package/dist/components/shad-cn-ui/SolidInput.js.map +0 -1
  269. package/dist/components/shad-cn-ui/SolidInput.tsx +0 -12
  270. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts +0 -10
  271. package/dist/components/shad-cn-ui/SolidNumberInput.d.ts.map +0 -1
  272. package/dist/components/shad-cn-ui/SolidNumberInput.js +0 -33
  273. package/dist/components/shad-cn-ui/SolidNumberInput.js.map +0 -1
  274. package/dist/components/shad-cn-ui/SolidNumberInput.tsx +0 -24
  275. package/dist/components/shad-cn-ui/SolidSelect.d.ts +0 -16
  276. package/dist/components/shad-cn-ui/SolidSelect.d.ts.map +0 -1
  277. package/dist/components/shad-cn-ui/SolidSelect.js +0 -26
  278. package/dist/components/shad-cn-ui/SolidSelect.js.map +0 -1
  279. package/dist/components/shad-cn-ui/SolidSelect.tsx +0 -65
  280. package/dist/components/shad-cn-ui/SolidTabs.d.ts +0 -18
  281. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +0 -1
  282. package/dist/components/shad-cn-ui/SolidTabs.js +0 -22
  283. package/dist/components/shad-cn-ui/SolidTabs.js.map +0 -1
  284. package/dist/components/shad-cn-ui/SolidTabs.tsx +0 -73
  285. package/dist/components/shad-cn-ui/index.d.ts +0 -7
  286. package/dist/components/shad-cn-ui/index.d.ts.map +0 -1
  287. package/dist/components/shad-cn-ui/index.js +0 -7
  288. package/dist/components/shad-cn-ui/index.js.map +0 -1
  289. package/dist/components/shad-cn-ui/index.ts +0 -6
  290. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  291. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  292. package/dist/components/solid-ui/SolidButton.js +0 -36
  293. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  294. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  295. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  296. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  297. package/dist/components/solid-ui/SolidTabs.js +0 -22
  298. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  299. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  300. package/dist/components/solid-ui/index.d.ts +0 -3
  301. package/dist/components/solid-ui/index.d.ts.map +0 -1
  302. package/dist/components/solid-ui/index.js +0 -3
  303. package/dist/components/solid-ui/index.js.map +0 -1
  304. package/dist/components/solid-ui/index.ts +0 -2
  305. package/dist/resources/images/errors/error-astronaut-404.png +0 -0
  306. package/dist/resources/shadcn-base.css +0 -3200
@@ -1 +1 @@
1
- {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { useChangePasswordMutation } from '../../../../redux/api/authApi';\nimport { useFormik } from 'formik';\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { Button } from 'primereact/button';\nimport { Message } from 'primereact/message';\nimport { Password } from 'primereact/password';\nimport { Toast } from 'primereact/toast';\nimport { useMemo, useRef } from 'react';\nimport * as Yup from 'yup';\nimport { SolidPasswordHelperText } from '../SolidPasswordHelperText';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\nimport showToast from \"../../../../helpers/showToast\";\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const toast = useRef<Toast>(null);\n const [changePassword] = useChangePasswordMutation();\n\n const session: any = useSession();\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n // Try backend regex first, then env, then fallback\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) {\n // const unescaped = JSON.parse(`\"${backendRegex}\"`);\n return new RegExp(backendRegex);\n }\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage ||\n ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'))\n : Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email')).required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n currentPassword: Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Current password')),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH)\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Confirm password')),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('User ID')),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n showToast(toast, \"error\", ERROR_MESSAGES.ERROR, response.error)\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n })\n } else {\n showToast(toast, \"success\", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);\n handleLogout(toast)\n resetForm();\n }\n } catch (err: any) {\n showToast(toast, \"error\", err?.data?.message, err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message);\n }\n },\n });\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <Toast ref={toast} />\n <div>\n <div className='grid'>\n <div className='col-12 md-col-8 lg:col-5'>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"currentPassword\" className=\"solid-auth-input-label\">Current Password</label>\n <Password\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.currentPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"currentPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.currentPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">New Password</label>\n <Password\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.newPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"newPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.newPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Confirm New Password</label>\n <Password\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.confirmPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"confirmPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.confirmPassword?.toString()}\n />}\n </div>\n </div>\n </div>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n <div>\n <Button type='submit' size='small' label=\"Change Password\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}\n"]}
1
+ {"version":3,"file":"SolidChangePassword.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidChangePassword.tsx"],"names":[],"mappings":"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","sourcesContent":["import { handleLogout } from \"../../../../adapters/auth/handleLogout\";\nimport { useChangePasswordMutation } from '../../../../redux/api/authApi';\nimport { useFormik } from 'formik';\nimport { useSession } from \"../../../../hooks/useSession\";\nimport { Button } from 'primereact/button';\nimport { Message } from 'primereact/message';\nimport { Password } from 'primereact/password';\nimport { useMemo } from 'react';\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport * as Yup from 'yup';\nimport { SolidPasswordHelperText } from '../SolidPasswordHelperText';\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { env } from \"../../../../adapters/env\";\n\nexport const SolidChangePassword = ({ solidSettingsData }: any) => {\n const dispatch = useDispatch();\n const [changePassword] = useChangePasswordMutation();\n\n const session: any = useSession();\n\n const envPasswordRegex = env(\"NEXT_PUBLIC_PASSWORD_REGEX\");\n\n // Try backend regex first, then env, then fallback\n const effectiveRegex = useMemo(() => {\n try {\n const backendRegex = solidSettingsData?.data?.authenticationPasswordRegex;\n if (backendRegex) {\n // const unescaped = JSON.parse(`\"${backendRegex}\"`);\n return new RegExp(backendRegex);\n }\n if (envPasswordRegex) {\n const unescaped = JSON.parse(`\"${envPasswordRegex}\"`);\n return new RegExp(unescaped);\n }\n } catch (error) {\n console.error(ERROR_MESSAGES.INVALID_PASSWORD_REGX, error);\n }\n return null;\n }, [solidSettingsData, envPasswordRegex]);\n\n const validationSchema = useMemo(() => {\n const newPasswordValidation = effectiveRegex\n ? Yup.string()\n .matches(\n effectiveRegex,\n solidSettingsData?.data?.authenticationPasswordRegexErrorMessage ||\n ERROR_MESSAGES.PASSWORD_DO_NOT_MEET\n )\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'))\n : Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('New password'));\n\n return Yup.object({\n email: Yup.string().email(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('email')).required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n currentPassword: Yup.string()\n .min(6, ERROR_MESSAGES.PASSWORD_CHARACTER(6))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Current password')),\n newPassword: newPasswordValidation,\n confirmPassword: Yup.string()\n .oneOf([Yup.ref(\"newPassword\")], ERROR_MESSAGES.MUST_MATCH)\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Confirm password')),\n id: Yup.number().required(ERROR_MESSAGES.FIELD_INAVLID_FORMAT('User ID')),\n });\n }, [effectiveRegex, solidSettingsData]);\n\n const formik = useFormik({\n initialValues: {\n email: session?.data?.user?.email,\n currentPassword: \"\",\n newPassword: \"\",\n confirmPassword: \"\",\n id: session?.data?.user?.id,\n },\n validationSchema,\n onSubmit: async (values, { setErrors, resetForm }) => {\n try {\n const payload = {\n id: values.id,\n email: session?.data?.user?.email,\n currentPassword: values.currentPassword,\n newPassword: values.newPassword,\n };\n\n const response = await changePassword(payload).unwrap();\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: response.error }))\n setErrors({\n currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,\n newPassword: ERROR_MESSAGES.MUST_MATCH,\n confirmPassword: ERROR_MESSAGES.MUST_MATCH,\n })\n } else {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.PASSWORD_CHANGE, detail: ERROR_MESSAGES.PASSWORD_CHANGE }));\n handleLogout(null)\n resetForm();\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: err?.data?.message, detail: err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message }));\n }\n },\n });\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <div>\n <div className='grid'>\n <div className='col-12 md-col-8 lg:col-5'>\n <div className=\"flex flex-column gap-2\">\n <label htmlFor=\"currentPassword\" className=\"solid-auth-input-label\">Current Password</label>\n <Password\n id=\"currentPassword\"\n name=\"currentPassword\"\n value={formik.values.currentPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.currentPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"currentPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.currentPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">New Password</label>\n <Password\n id=\"newPassword\"\n name=\"newPassword\"\n value={formik.values.newPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.newPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"newPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.newPassword?.toString()}\n />}\n </div>\n <div className=\"flex flex-column gap-2 mt-1 sm:mt-2 md:mt-3 lg:mt-4\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Confirm New Password</label>\n <Password\n id=\"confirmPassword\"\n name=\"confirmPassword\"\n value={formik.values.confirmPassword}\n onChange={formik.handleChange}\n onBlur={formik.handleBlur}\n toggleMask\n invalid={!!formik.errors.confirmPassword}\n inputClassName=\"w-full\"\n feedback={false}\n />\n {isFormFieldValid(formik, \"confirmPassword\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.confirmPassword?.toString()}\n />}\n </div>\n </div>\n </div>\n <SolidPasswordHelperText text={solidSettingsData?.data?.authenticationPasswordComplexityDescription} />\n </div>\n <div>\n <Button type='submit' size='small' label=\"Change Password\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}\n"]}
@@ -5,16 +5,16 @@ import { useSession } from "../../../../hooks/useSession";
5
5
  import { Button } from 'primereact/button';
6
6
  import { Message } from 'primereact/message';
7
7
  import { Password } from 'primereact/password';
8
- import { Toast } from 'primereact/toast';
9
- import { useMemo, useRef } from 'react';
8
+ import { useMemo } from 'react';
9
+ import { useDispatch } from 'react-redux';
10
+ import { showToast } from '../../../../redux/features/toastSlice';
10
11
  import * as Yup from 'yup';
11
12
  import { SolidPasswordHelperText } from '../SolidPasswordHelperText';
12
13
  import { ERROR_MESSAGES } from '../../../../constants/error-messages';
13
14
  import { env } from "../../../../adapters/env";
14
- import showToast from "../../../../helpers/showToast";
15
15
 
16
16
  export const SolidChangePassword = ({ solidSettingsData }: any) => {
17
- const toast = useRef<Toast>(null);
17
+ const dispatch = useDispatch();
18
18
  const [changePassword] = useChangePasswordMutation();
19
19
 
20
20
  const session: any = useSession();
@@ -85,19 +85,19 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
85
85
 
86
86
  const response = await changePassword(payload).unwrap();
87
87
  if (response?.error) {
88
- showToast(toast, "error", ERROR_MESSAGES.ERROR, response.error)
88
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: response.error }))
89
89
  setErrors({
90
90
  currentPassword: ERROR_MESSAGES.INCORRECT_CURRENT,
91
91
  newPassword: ERROR_MESSAGES.MUST_MATCH,
92
92
  confirmPassword: ERROR_MESSAGES.MUST_MATCH,
93
93
  })
94
94
  } else {
95
- showToast(toast, "success", ERROR_MESSAGES.PASSWORD_CHANGE, ERROR_MESSAGES.PASSWORD_CHANGE);
96
- handleLogout(toast)
95
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.PASSWORD_CHANGE, detail: ERROR_MESSAGES.PASSWORD_CHANGE }));
96
+ handleLogout(null)
97
97
  resetForm();
98
98
  }
99
99
  } catch (err: any) {
100
- showToast(toast, "error", err?.data?.message, err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message);
100
+ dispatch(showToast({ severity: "error", summary: err?.data?.message, detail: err?.data?.data?.message ? err?.data?.data?.message : err?.data?.message }));
101
101
  }
102
102
  },
103
103
  });
@@ -106,7 +106,6 @@ export const SolidChangePassword = ({ solidSettingsData }: any) => {
106
106
 
107
107
  return (
108
108
  <form onSubmit={formik.handleSubmit} className="h-full flex flex-column justify-content-between">
109
- <Toast ref={toast} />
110
109
  <div>
111
110
  <div className='grid'>
112
111
  <div className='col-12 md-col-8 lg:col-5'>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,kBAAkB,+CAsH9B,CAAA"}
1
+ {"version":3,"file":"SolidNotifications.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"AASA,eAAO,MAAM,kBAAkB,+CAqH9B,CAAA"}
@@ -40,16 +40,16 @@ import { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from
40
40
  import { useFormik } from 'formik';
41
41
  import { Button } from 'primereact/button';
42
42
  import { InputSwitch } from 'primereact/inputswitch';
43
- import { Toast } from 'primereact/toast';
44
- import { useEffect, useRef } from 'react';
45
- import showToast from "../../../../helpers/showToast";
43
+ import { useEffect } from 'react';
44
+ import { useDispatch } from 'react-redux';
45
+ import { showToast } from '../../../../redux/features/toastSlice';
46
46
  export var SolidNotifications = function () {
47
47
  var _a, _b;
48
48
  var _c = useGetSolidSettingsQuery(undefined), solidSettingsData = _c.data, isLoading = _c.isLoading, error = _c.error, refetch = _c.refetch;
49
49
  useEffect(function () {
50
50
  refetch();
51
51
  }, []);
52
- var toast = useRef(null);
52
+ var dispatch = useDispatch();
53
53
  var bulkUpdateSolidSettings = useBulkUpdateSolidUserSettingsMutation()[0];
54
54
  var initialValues = {
55
55
  enableNotification: (_b = (_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.enableNotification) !== null && _b !== void 0 ? _b : true
@@ -92,7 +92,7 @@ export var SolidNotifications = function () {
92
92
  }
93
93
  });
94
94
  if (updatedSettingsArray_1.length === 0) {
95
- showToast(toast, "success", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);
95
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_SETTING_UPDATE }));
96
96
  return [2 /*return*/];
97
97
  }
98
98
  // Append settings array to formData
@@ -101,19 +101,19 @@ export var SolidNotifications = function () {
101
101
  case 1:
102
102
  response = _b.sent();
103
103
  if (response.statusCode === 200) {
104
- showToast(toast, "success", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);
104
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.UPDATED, detail: ERROR_MESSAGES.SETTING_UPDATED }));
105
105
  }
106
106
  return [3 /*break*/, 3];
107
107
  case 2:
108
108
  error_1 = _b.sent();
109
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);
109
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
110
110
  return [3 /*break*/, 3];
111
111
  case 3: return [2 /*return*/];
112
112
  }
113
113
  });
114
114
  }); },
115
115
  });
116
- return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [_jsx(Toast, { ref: toast }), _jsx("div", { children: _jsxs("div", { className: "flex align-items-start justify-content-between pb-3", children: [_jsxs("div", { children: [_jsx("label", { className: "form-field-label mb-2", children: "Enable Notification" }), _jsx("div", { style: { color: 'var(--solid-grey-500)' }, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsx("div", { children: _jsx(InputSwitch, { name: "enableNotification", checked: formik.values.enableNotification, onChange: function (e) {
116
+ return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [_jsx("div", { children: _jsxs("div", { className: "flex align-items-start justify-content-between pb-3", children: [_jsxs("div", { children: [_jsx("label", { className: "form-field-label mb-2", children: "Enable Notification" }), _jsx("div", { style: { color: 'var(--solid-grey-500)' }, children: "Decide whether you want to be notified of new messages or updates." })] }), _jsx("div", { children: _jsx(InputSwitch, { name: "enableNotification", checked: formik.values.enableNotification, onChange: function (e) {
117
117
  formik.setFieldValue("enableNotification", e.value);
118
118
  // formik.submitForm();
119
119
  } }) })] }) }), _jsx("div", { children: _jsx(Button, { type: 'submit', size: 'small', label: "Save", disabled: formik.isSubmitting, loading: formik.isSubmitting }) })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from '../../../../redux/api/solidSettingsApi';\nimport { useFormik } from 'formik';\nimport { Button } from 'primereact/button';\nimport { InputSwitch } from 'primereact/inputswitch';\nimport { Toast } from 'primereact/toast';\nimport React, { useEffect, useRef } from 'react'\nimport { useSelector } from 'react-redux';\nimport showToast from \"../../../../helpers/showToast\";\nexport const SolidNotifications = () => {\n const {\n data: solidSettingsData,\n isLoading,\n error,\n refetch,\n } = useGetSolidSettingsQuery(undefined);\n\n useEffect(() => {\n refetch();\n }, []);\n\n const toast = useRef<Toast>(null);\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n\n const initialValues = {\n enableNotification: solidSettingsData?.data?.enableNotification ?? true\n }\n\n const formik = useFormik({\n initialValues: initialValues,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string; type: string }> = [];\n const currentSettings = solidSettingsData?.data?.user || {};\n\n const formData = new FormData();\n\n // Compare changed fields\n Object.entries(values).forEach(([key, value]) => {\n const currentValue = currentSettings[key];\n\n const normalizedCurrent = currentValue ?? \"\";\n const normalizedValue = value ?? \"\";\n\n if (normalizedCurrent !== normalizedValue) {\n if (value instanceof File) {\n formData.append(key, value);\n updatedSettingsArray.push({\n key,\n value: \"\",\n type: \"user\",\n });\n } else {\n updatedSettingsArray.push({\n key,\n value: value,\n type: \"user\",\n });\n }\n }\n });\n\n if (updatedSettingsArray.length === 0) {\n showToast(toast, \"success\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);\n return;\n }\n\n // Append settings array to formData\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n\n // Call API\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);\n }\n\n } catch (error) {\n showToast(toast, \"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n })\n\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <Toast ref={toast} />\n <div>\n <div className=\"flex align-items-start justify-content-between pb-3\">\n <div>\n <label className=\"form-field-label mb-2\">Enable Notification</label>\n <div style={{ color: 'var(--solid-grey-500)' }}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <div>\n <InputSwitch\n name=\"enableNotification\"\n checked={formik.values.enableNotification}\n onChange={(e) => {\n formik.setFieldValue(\"enableNotification\", e.value);\n // formik.submitForm();\n }}\n />\n </div>\n </div>\n {/* <div className=\"flex align-items-start justify-content-between pb-3 mt-3\" style={{ borderBottom: '1px dashed var(--primary-light-color)' }}>\n <div>\n <label className=\"form-field-label mb-2\">Enable Notification</label>\n <div style={{ color: 'var(--solid-grey-500)' }}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <div>\n <InputSwitch\n name=\"enableNotification\"\n checked={formik.values.enableNotification}\n onChange={(e) => {\n formik.setFieldValue(\"enableNotification\", e.value);\n formik.submitForm();\n }}\n />\n </div>\n </div> */}\n </div>\n <div>\n <Button type='submit' size='small' label=\"Save\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}"]}
1
+ {"version":3,"file":"SolidNotifications.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidNotifications.tsx"],"names":[],"mappings":"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","sourcesContent":["\nimport { ERROR_MESSAGES } from '../../../../constants/error-messages';\nimport { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from '../../../../redux/api/solidSettingsApi';\nimport { useFormik } from 'formik';\nimport { Button } from 'primereact/button';\nimport { InputSwitch } from 'primereact/inputswitch';\nimport React, { useEffect } from 'react'\nimport { useDispatch, useSelector } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nexport const SolidNotifications = () => {\n const {\n data: solidSettingsData,\n isLoading,\n error,\n refetch,\n } = useGetSolidSettingsQuery(undefined);\n\n useEffect(() => {\n refetch();\n }, []);\n\n const dispatch = useDispatch();\n const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();\n\n const initialValues = {\n enableNotification: solidSettingsData?.data?.enableNotification ?? true\n }\n\n const formik = useFormik({\n initialValues: initialValues,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const updatedSettingsArray: Array<{ key: string; value: string; type: string }> = [];\n const currentSettings = solidSettingsData?.data?.user || {};\n\n const formData = new FormData();\n\n // Compare changed fields\n Object.entries(values).forEach(([key, value]) => {\n const currentValue = currentSettings[key];\n\n const normalizedCurrent = currentValue ?? \"\";\n const normalizedValue = value ?? \"\";\n\n if (normalizedCurrent !== normalizedValue) {\n if (value instanceof File) {\n formData.append(key, value);\n updatedSettingsArray.push({\n key,\n value: \"\",\n type: \"user\",\n });\n } else {\n updatedSettingsArray.push({\n key,\n value: value,\n type: \"user\",\n });\n }\n }\n });\n\n if (updatedSettingsArray.length === 0) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_SETTING_UPDATE }));\n return;\n }\n\n // Append settings array to formData\n formData.append(\"settings\", JSON.stringify(updatedSettingsArray));\n\n // Call API\n const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();\n\n if (response.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.UPDATED, detail: ERROR_MESSAGES.SETTING_UPDATED }));\n }\n\n } catch (error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n },\n })\n\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <div>\n <div className=\"flex align-items-start justify-content-between pb-3\">\n <div>\n <label className=\"form-field-label mb-2\">Enable Notification</label>\n <div style={{ color: 'var(--solid-grey-500)' }}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <div>\n <InputSwitch\n name=\"enableNotification\"\n checked={formik.values.enableNotification}\n onChange={(e) => {\n formik.setFieldValue(\"enableNotification\", e.value);\n // formik.submitForm();\n }}\n />\n </div>\n </div>\n {/* <div className=\"flex align-items-start justify-content-between pb-3 mt-3\" style={{ borderBottom: '1px dashed var(--primary-light-color)' }}>\n <div>\n <label className=\"form-field-label mb-2\">Enable Notification</label>\n <div style={{ color: 'var(--solid-grey-500)' }}>Decide whether you want to be notified of new messages or updates.</div>\n </div>\n <div>\n <InputSwitch\n name=\"enableNotification\"\n checked={formik.values.enableNotification}\n onChange={(e) => {\n formik.setFieldValue(\"enableNotification\", e.value);\n formik.submitForm();\n }}\n />\n </div>\n </div> */}\n </div>\n <div>\n <Button type='submit' size='small' label=\"Save\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </form>\n )\n}"]}
@@ -4,10 +4,9 @@ import { useBulkUpdateSolidUserSettingsMutation, useGetSolidSettingsQuery } from
4
4
  import { useFormik } from 'formik';
5
5
  import { Button } from 'primereact/button';
6
6
  import { InputSwitch } from 'primereact/inputswitch';
7
- import { Toast } from 'primereact/toast';
8
- import React, { useEffect, useRef } from 'react'
9
- import { useSelector } from 'react-redux';
10
- import showToast from "../../../../helpers/showToast";
7
+ import React, { useEffect } from 'react'
8
+ import { useDispatch, useSelector } from 'react-redux';
9
+ import { showToast } from '../../../../redux/features/toastSlice';
11
10
  export const SolidNotifications = () => {
12
11
  const {
13
12
  data: solidSettingsData,
@@ -20,7 +19,7 @@ export const SolidNotifications = () => {
20
19
  refetch();
21
20
  }, []);
22
21
 
23
- const toast = useRef<Toast>(null);
22
+ const dispatch = useDispatch();
24
23
  const [bulkUpdateSolidSettings] = useBulkUpdateSolidUserSettingsMutation();
25
24
 
26
25
  const initialValues = {
@@ -63,7 +62,7 @@ export const SolidNotifications = () => {
63
62
  });
64
63
 
65
64
  if (updatedSettingsArray.length === 0) {
66
- showToast(toast, "success", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_SETTING_UPDATE);
65
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_SETTING_UPDATE }));
67
66
  return;
68
67
  }
69
68
 
@@ -74,11 +73,11 @@ export const SolidNotifications = () => {
74
73
  const response = await bulkUpdateSolidSettings({ data: formData }).unwrap();
75
74
 
76
75
  if (response.statusCode === 200) {
77
- showToast(toast, "success", ERROR_MESSAGES.UPDATED, ERROR_MESSAGES.SETTING_UPDATED);
76
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.UPDATED, detail: ERROR_MESSAGES.SETTING_UPDATED }));
78
77
  }
79
78
 
80
79
  } catch (error) {
81
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);
80
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
82
81
  }
83
82
  },
84
83
  })
@@ -86,7 +85,6 @@ export const SolidNotifications = () => {
86
85
 
87
86
  return (
88
87
  <form onSubmit={formik.handleSubmit} className="h-full flex flex-column justify-content-between">
89
- <Toast ref={toast} />
90
88
  <div>
91
89
  <div className="flex align-items-start justify-content-between pb-3">
92
90
  <div>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidPersonalInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,iBAAiB,+CA8R7B,CAAA"}
1
+ {"version":3,"file":"SolidPersonalInfo.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,iBAAiB,+CA6R7B,CAAA"}
@@ -43,16 +43,16 @@ import { Avatar } from "primereact/avatar";
43
43
  import { Button } from "primereact/button";
44
44
  import { Dialog } from "primereact/dialog";
45
45
  import { InputText } from "primereact/inputtext";
46
- import { Toast } from "primereact/toast";
47
46
  import { useRef, useState } from "react";
47
+ import { useDispatch } from 'react-redux';
48
+ import { showToast } from '../../../../redux/features/toastSlice';
48
49
  import styles from './SolidAccountSettings.module.css';
49
50
  import { ERROR_MESSAGES } from "../../../../constants/error-messages";
50
- import showToast from "../../../../helpers/showToast";
51
51
  import { useSession } from '../../../../hooks/useSession';
52
52
  export var SolidPersonalInfo = function () {
53
53
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w;
54
54
  var fileInputRef = useRef(null);
55
- var toast = useRef(null);
55
+ var dispatch = useDispatch();
56
56
  var _x = useState(null), previewImage = _x[0], setPreviewImage = _x[1];
57
57
  var _y = useState(false), deleteDialogVisible = _y[0], setDeleteDialogVisible = _y[1];
58
58
  var _z = useState(false), replaceDialogVisible = _z[0], setReplaceDialogVisible = _z[1];
@@ -84,25 +84,25 @@ export var SolidPersonalInfo = function () {
84
84
  formData.append("profilePicture", values.profilePicture);
85
85
  }
86
86
  if (!formData.has("fullName") && !formData.has("profilePicture")) {
87
- showToast(toast, "info", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_UPDATE_MADE);
87
+ dispatch(showToast({ severity: "info", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_UPDATE_MADE }));
88
88
  return [2 /*return*/];
89
89
  }
90
90
  return [4 /*yield*/, updateUser({ data: formData }).unwrap()];
91
91
  case 1:
92
92
  response = _a.sent();
93
93
  if ((response === null || response === void 0 ? void 0 : response.statusCode) === 200) {
94
- showToast(toast, "success", ERROR_MESSAGES.PROFILE_SAVED, ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY);
94
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.PROFILE_SAVED, detail: ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY }));
95
95
  refetch();
96
96
  formik.resetForm();
97
97
  setPreviewImage(null);
98
98
  }
99
99
  else {
100
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_UPDATED_PROFILE);
100
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPDATED_PROFILE }));
101
101
  }
102
102
  return [3 /*break*/, 3];
103
103
  case 2:
104
104
  error_1 = _a.sent();
105
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);
105
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
106
106
  return [3 /*break*/, 3];
107
107
  case 3: return [2 /*return*/];
108
108
  }
@@ -175,7 +175,7 @@ export var SolidPersonalInfo = function () {
175
175
  return [3 /*break*/, 5];
176
176
  case 4:
177
177
  error_2 = _d.sent();
178
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_DELETED_IMAGE);
178
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));
179
179
  return [3 /*break*/, 5];
180
180
  case 5:
181
181
  setReplaceDialogVisible(false);
@@ -198,12 +198,12 @@ export var SolidPersonalInfo = function () {
198
198
  return [4 /*yield*/, deleteMedia(existing.id).unwrap()];
199
199
  case 2:
200
200
  _e.sent();
201
- showToast(toast, "success", ERROR_MESSAGES.DELETED, ERROR_MESSAGES.PROFILE_PICTURE_REMOVE);
201
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.PROFILE_PICTURE_REMOVE }));
202
202
  refetch();
203
203
  return [3 /*break*/, 4];
204
204
  case 3:
205
205
  _a = _e.sent();
206
- showToast(toast, "error", ERROR_MESSAGES.ERROR, ERROR_MESSAGES.FAILED_DELETED_IMAGE);
206
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));
207
207
  return [3 /*break*/, 4];
208
208
  case 4:
209
209
  formik.setFieldValue("profilePicture", null);
@@ -213,7 +213,7 @@ export var SolidPersonalInfo = function () {
213
213
  }
214
214
  });
215
215
  }); };
216
- return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [_jsx(Toast, { ref: toast }), _jsxs("div", { children: [_jsxs("div", { children: [_jsx("label", { className: "form-field-label mb-2 font-bold", children: "Profile Picture" }), _jsxs("div", { className: "flex align-items-center gap-3", children: [previewImage ? (_jsx(Avatar, { image: previewImage, shape: "circle", style: {
216
+ return (_jsxs("form", { onSubmit: formik.handleSubmit, className: "h-full flex flex-column justify-content-between", children: [_jsxs("div", { children: [_jsxs("div", { children: [_jsx("label", { className: "form-field-label mb-2 font-bold", children: "Profile Picture" }), _jsxs("div", { className: "flex align-items-center gap-3", children: [previewImage ? (_jsx(Avatar, { image: previewImage, shape: "circle", style: {
217
217
  height: '5rem',
218
218
  width: '5rem'
219
219
  } })) : ((_l = (_k = (_j = (_h = userData === null || userData === void 0 ? void 0 : userData.data) === null || _h === void 0 ? void 0 : _h._media) === null || _j === void 0 ? void 0 : _j.profilePicture) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l._full_url) ? (_jsxs("div", { className: "relative", children: [_jsx(Avatar, { image: (_q = (_p = (_o = (_m = userData === null || userData === void 0 ? void 0 : userData.data) === null || _m === void 0 ? void 0 : _m._media) === null || _o === void 0 ? void 0 : _o.profilePicture) === null || _p === void 0 ? void 0 : _p[0]) === null || _q === void 0 ? void 0 : _q._full_url, shape: "circle", style: {
@@ -1 +1 @@
1
- {"version":3,"file":"SolidPersonalInfo.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,+BAA+B,CAAC;AAC9F,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACzC,OAAO,MAAM,MAAM,mCAAmC,CAAA;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AACtE,OAAO,SAAS,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAEzD,MAAM,CAAC,IAAM,iBAAiB,GAAG;;IAC7B,IAAM,YAAY,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IACpD,IAAM,KAAK,GAAG,MAAM,CAAQ,IAAI,CAAC,CAAC;IAE5B,IAAA,KAAkC,QAAQ,CAAgB,IAAI,CAAC,EAA9D,YAAY,QAAA,EAAE,eAAe,QAAiC,CAAC;IAChE,IAAA,KAAgD,QAAQ,CAAC,KAAK,CAAC,EAA9D,mBAAmB,QAAA,EAAE,sBAAsB,QAAmB,CAAC;IAChE,IAAA,KAAkD,QAAQ,CAAC,KAAK,CAAC,EAAhE,oBAAoB,QAAA,EAAE,uBAAuB,QAAmB,CAAC;IAClE,IAAA,KAAgC,QAAQ,CAAc,IAAI,CAAC,EAA1D,WAAW,QAAA,EAAE,cAAc,QAA+B,CAAC;IAE5D,IAAA,KAA4B,UAAU,EAAE,EAAhC,OAAO,UAAA,EAAE,MAAM,YAAiB,CAAC;IAC/C,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAC;IAC3B,IAAM,MAAM,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAC;IAElB,IAAA,KAA8B,eAAe,CAAC,MAAM,CAAC,EAA7C,QAAQ,UAAA,EAAE,OAAO,aAA4B,CAAC;IAGxD,IAAA,WAAW,GACX,sBAAsB,EAAE,GADb,CACc;IACtB,IAAA,UAAU,GAAI,4BAA4B,EAAE,GAAlC,CAAmC;IAEpD,IAAM,aAAa,GAAG;QAClB,QAAQ,EAAE,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,QAAQ,mCAAI,EAAE;QACxC,cAAc,EAAE,MAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,CAAC,CAAC,CAAC,0CAAE,SAAS,mCAAI,IAAI;KAC/E,CAAC;IAEF,IAAM,MAAM,GAAG,SAAS,CAAC;QACrB,aAAa,eAAA;QACb,kBAAkB,EAAE,IAAI;QACxB,QAAQ,EAAE,UAAO,MAAM;;;;;;wBAET,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;wBAChC,IAAI,MAAM,CAAC,QAAQ,KAAK,aAAa,CAAC,QAAQ,EAAE;4BAC5C,QAAQ,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;yBAChD;wBAED,IAAI,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,YAAY,IAAI,EAAE;4BAChE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;yBAC5D;wBAED,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE;4BAC9D,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;4BAClF,sBAAO;yBACV;wBAEgB,qBAAM,UAAU,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;wBAAxD,QAAQ,GAAG,SAA6C;wBAC9D,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,UAAU,MAAK,GAAG,EAAE;4BAC9B,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,aAAa,EAAE,cAAc,CAAC,0BAA0B,CAAC,CAAC;4BACrG,OAAO,EAAE,CAAC;4BACV,MAAM,CAAC,SAAS,EAAE,CAAC;4BACnB,eAAe,CAAC,IAAI,CAAC,CAAC;yBACzB;6BAAM;4BACH,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;yBAC3F;;;;wBAED,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC;;;;;aAExF;KACJ,CAAC,CAAC;IAEH,IAAM,WAAW,GAAG,UAAC,KAAa;;QAC9B,IAAI,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QAEtB,IAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAChE,OAAO,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,WAAW,EAAE,KAAI,EAAE,CAAC;IACzC,CAAC,CAAC;IAEF,IAAM,oBAAoB,GAAG,UAAC,QAAgB;QAC1C,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACtC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;SACxD;QACD,IAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QACjC,OAAO,cAAO,GAAG,gBAAa,CAAC;IACnC,CAAC,CAAC;IACF,IAAM,KAAK,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,CAAC;IACpC,IAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACpC,IAAM,OAAO,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAE/C,IAAM,gBAAgB,GAAG,UAAC,IAAU;;QAChC,IAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE;YACV,cAAc,CAAC,IAAI,CAAC,CAAC;YACrB,uBAAuB,CAAC,IAAI,CAAC,CAAC;SACjC;aAAM;YACH,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC7C,eAAe,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC;SAC9C;IACL,CAAC,CAAC;IAGF,IAAM,kBAAkB,GAAG;;QACvB,IAAM,QAAQ,GAAG,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAC;QAC7D,IAAI,QAAQ,EAAE;YACV,sBAAsB,CAAC,IAAI,CAAC,CAAC;SAChC;aAAM;YACH,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAC7C,eAAe,CAAC,IAAI,CAAC,CAAC;SACzB;IACL,CAAC,CAAC;IAEF,IAAM,cAAc,GAAG;;;;;;oBACb,QAAQ,GAAG,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAC;;;;yBAErD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,EAAZ,wBAAY;oBACZ,qBAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAAvC,SAAuC,CAAC;;;oBAG5C,IAAI,WAAW,EAAE;wBACb,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,WAAW,CAAC,CAAC;wBACpD,UAAU,CAAC;4BACP,MAAM,CAAC,UAAU,EAAE,CAAC;wBACxB,CAAC,EAAE,CAAC,CAAC,CAAC;qBACT;;;;oBAGD,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,MAAM,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;;;oBAG1F,uBAAuB,CAAC,KAAK,CAAC,CAAC;oBAC/B,cAAc,CAAC,IAAI,CAAC,CAAC;;;;SACxB,CAAC;IAEF,IAAM,aAAa,GAAG;;;;;;oBACZ,QAAQ,GAAG,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,CAAC;yBACzD,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,EAAE,CAAA,EAAZ,wBAAY;;;;oBAER,qBAAM,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,EAAA;;oBAAvC,SAAuC,CAAC;oBACxC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,cAAc,CAAC,sBAAsB,CAAC,CAAC;oBAC3F,OAAO,EAAE,CAAC;;;;oBAEV,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,cAAc,CAAC,oBAAoB,CAAC,CAAC;;;oBAI7F,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;oBAC7C,eAAe,CAAC,IAAI,CAAC,CAAC;oBACtB,sBAAsB,CAAC,KAAK,CAAC,CAAC;;;;SACjC,CAAC;IAEF,OAAO,CACH,gBAAM,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAC,iDAAiD,aAC5F,KAAC,KAAK,IAAC,GAAG,EAAE,KAAK,GAAI,EACrB,0BACI,0BACI,gBAAO,SAAS,EAAC,iCAAiC,gCAAwB,EAC1E,eAAK,SAAS,EAAC,+BAA+B,aACzC,YAAY,CAAC,CAAC,CAAC,CACZ,KAAC,MAAM,IAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAC,QAAQ,EACvC,KAAK,EAAE;4CACH,MAAM,EAAE,MAAM;4CACd,KAAK,EAAE,MAAM;yCAChB,GACH,CACL,CAAC,CAAC,CAAC,CAAA,MAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,0CAAE,SAAS,EAAC,CAAC,CAAC,CACzD,eAAK,SAAS,EAAC,UAAU,aACrB,KAAC,MAAM,IACH,KAAK,EAAE,MAAA,MAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,0CAAE,cAAc,0CAAG,CAAC,CAAC,0CAAE,SAAS,EAC7D,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE;oDACH,MAAM,EAAE,MAAM;oDACd,KAAK,EAAE,MAAM;iDAChB,GACH,EACF,cAAK,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,YAClE,eAAM,SAAS,EAAC,aAAa,GAAG,GAC9B,IACJ,CACT,CAAC,CAAC,CAAC,CACA,KAAC,MAAM,IACH,KAAK,EAAE,QAAQ,EACf,IAAI,EAAC,QAAQ,EACb,KAAK,EAAC,QAAQ,EACd,KAAK,EAAE;4CACH,eAAe,EAAE,OAAO;4CACxB,KAAK,EAAE,SAAS;4CAChB,MAAM,EAAE,MAAM;4CACd,KAAK,EAAE,MAAM;yCAChB,GACH,CACL,EAED,eAAK,SAAS,EAAC,YAAY,aACvB,KAAC,MAAM,IACH,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,QAAQ,EAAC,WAAW,EACpB,KAAK,EAAC,eAAe,EACrB,QAAQ,QACR,SAAS,EAAC,cAAc,EACxB,OAAO,EAAE,sBAAM,OAAA,MAAA,YAAY,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAA,EAAA,GAC9C,EACF,gBACI,GAAG,EAAE,YAAY,EACjB,IAAI,EAAC,MAAM,EACX,MAAM,EAAC,sBAAsB,EAC7B,MAAM,QACN,QAAQ,EAAE,UAAC,CAAC;;oDACR,IAAM,IAAI,GAAG,MAAA,CAAC,CAAC,MAAM,CAAC,KAAK,0CAAG,CAAC,CAAC,CAAC;oDACjC,IAAI,IAAI;wDAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;gDACrC,CAAC,GACH,IACA,IACJ,IACJ,EACN,cAAK,SAAS,EAAC,mBAAmB,EAAC,KAAK,EAAE,EAAE,YAAY,EAAE,oBAAoB,EAAE,GAAQ,EACxF,eAAK,SAAS,EAAC,MAAM,aACjB,gBAAO,SAAS,EAAC,iCAAiC,wBAAgB,EAClE,eAAK,SAAS,EAAC,MAAM,aACjB,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,uBAAuB,qBAAa,EACrD,KAAC,SAAS,IACN,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,EAC7B,QAAQ,EAAE,MAAM,CAAC,YAAY,EAC7B,SAAS,EAAC,QAAQ,GACpB,IACA,EACN,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,uBAAuB,sBAAc,EACtD,KAAC,SAAS,IAAC,QAAQ,QAAC,WAAW,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,EAAE,KAAK,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,EAChF,SAAS,EAAC,QAAQ,GAAG,IACvB,EACN,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,uBAAuB,+BAAuB,EAC/D,KAAC,SAAS,IAAC,QAAQ,QAAC,WAAW,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,EAAE,KAAK,EAAE,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,MAAM,EAClF,SAAS,EAAC,QAAQ,GAAG,IACvB,EACN,eAAK,SAAS,EAAC,0BAA0B,aACrC,gBAAO,SAAS,EAAC,uBAAuB,qBAAa,EACrD,KAAC,YAAY,IACT,QAAQ,QACR,QAAQ,QACR,KAAK,EAAE,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAC,IAAS,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,KAAI,EAAE,GACnE,IAEA,IACJ,IACJ,IACJ,EACN,wBACI,KAAC,MAAM,IACH,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,OAAO,EACZ,KAAK,EAAC,MAAM,GACd,GACA,EACN,KAAC,MAAM,IACH,MAAM,EAAE,aAAI,SAAS,EAAC,eAAe,wCAA6B,EAClE,OAAO,EAAE,oBAAoB,EAC7B,eAAe,EAAC,mCAAmC,EACnD,gBAAgB,EAAC,KAAK,EACtB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,SAAS,EAAC,uBAAuB,EACjC,KAAK,QACL,MAAM,EAAE,cAAM,OAAA,uBAAuB,CAAC,KAAK,CAAC,EAA9B,CAA8B,YAE5C,eAAK,SAAS,EAAC,KAAK,qEAEhB,eAAK,SAAS,EAAC,uCAAuC,aAClD,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAE,cAAc,GAAI,EAClF,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,QAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,cAAM,OAAA,uBAAuB,CAAC,KAAK,CAAC,EAA9B,CAA8B,GAAI,IAC5F,IACJ,GACD,EAET,KAAC,MAAM,IACH,MAAM,EAAE,aAAI,SAAS,EAAC,eAAe,uCAA4B,EACjE,OAAO,EAAE,mBAAmB,EAC5B,eAAe,EAAC,mCAAmC,EACnD,gBAAgB,EAAC,KAAK,EACtB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EACxB,KAAK,QACL,SAAS,EAAC,uBAAuB,EACjC,MAAM,EAAE,cAAM,OAAA,sBAAsB,CAAC,KAAK,CAAC,EAA7B,CAA6B,YAE3C,eAAK,SAAS,EAAC,KAAK,4DAEhB,eAAK,SAAS,EAAC,uCAAuC,aAClD,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,KAAK,EAAC,SAAS,EAAC,QAAQ,EAAC,QAAQ,EAAC,OAAO,EAAE,aAAa,GAAI,EACjF,KAAC,MAAM,IAAC,IAAI,EAAC,OAAO,EAAC,QAAQ,QAAC,KAAK,EAAC,QAAQ,EAAC,OAAO,EAAE,cAAM,OAAA,sBAAsB,CAAC,KAAK,CAAC,EAA7B,CAA6B,GAAI,IAC3F,IACJ,GACD,IAEN,CACV,CAAA;AACL,CAAC,CAAA","sourcesContent":["\n\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { useGetUserQuery, useUpdateUserProfileMutation } from \"../../../../redux/api/userApi\";\nimport { useFormik } from \"formik\";\nimport { AutoComplete } from \"primereact/autocomplete\";\nimport { Avatar } from \"primereact/avatar\";\nimport { Button } from \"primereact/button\";\nimport { Dialog } from \"primereact/dialog\";\nimport { InputText } from \"primereact/inputtext\";\nimport { Toast } from \"primereact/toast\";\nimport { useRef, useState } from \"react\";\nimport styles from './SolidAccountSettings.module.css'\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport showToast from \"../../../../helpers/showToast\";\nimport { useSession } from '../../../../hooks/useSession'\n\nexport const SolidPersonalInfo = () => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n const toast = useRef<Toast>(null);\n\n const [previewImage, setPreviewImage] = useState<string | null>(null);\n const [deleteDialogVisible, setDeleteDialogVisible] = useState(false);\n const [replaceDialogVisible, setReplaceDialogVisible] = useState(false);\n const [pendingFile, setPendingFile] = useState<File | null>(null);\n\n const { data: session, status } = useSession();\n const user = session?.user;\n const userId = user?.id;\n\n const { data: userData, refetch } = useGetUserQuery(userId);\n\n const [\n deleteMedia,\n ] = useDeleteMediaMutation();\n const [updateUser] = useUpdateUserProfileMutation();\n\n const initialValues = {\n fullName: userData?.data?.fullName ?? \"\",\n profilePicture: userData?.data?._media?.profilePicture[0]?._full_url ?? null,\n };\n\n const formik = useFormik({\n initialValues,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const formData = new FormData();\n if (values.fullName !== initialValues.fullName) {\n formData.append(\"fullName\", values.fullName);\n }\n\n if (values.profilePicture && values.profilePicture instanceof File) {\n formData.append(\"profilePicture\", values.profilePicture);\n }\n\n if (!formData.has(\"fullName\") && !formData.has(\"profilePicture\")) {\n showToast(toast, \"info\", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_UPDATE_MADE);\n return;\n }\n\n const response = await updateUser({ data: formData }).unwrap();\n if (response?.statusCode === 200) {\n showToast(toast, \"success\", ERROR_MESSAGES.PROFILE_SAVED, ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY);\n refetch();\n formik.resetForm();\n setPreviewImage(null);\n } else {\n showToast(toast, \"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_UPDATED_PROFILE);\n }\n } catch (error) {\n showToast(toast, \"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);\n }\n },\n });\n\n const getInitials = (value: string) => {\n if (!value) return \"\";\n\n const email = value.includes('@') ? value.split('@')[0] : value;\n return email[0]?.toUpperCase() || \"\";\n };\n\n const getColorFromInitials = (initials: string) => {\n let hash = 0;\n for (let i = 0; i < initials.length; i++) {\n hash = initials.charCodeAt(i) + ((hash << 5) - hash);\n }\n const hue = Math.abs(hash) % 360;\n return `hsl(${hue}, 60%, 60%)`;\n };\n const value = userData?.data?.email;\n const initials = getInitials(value);\n const bgColor = getColorFromInitials(initials);\n\n const handleFileChange = (file: File) => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing) {\n setPendingFile(file);\n setReplaceDialogVisible(true);\n } else {\n formik.setFieldValue(\"profilePicture\", file);\n setPreviewImage(URL.createObjectURL(file));\n }\n };\n\n\n const handleDeleteAvatar = () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing) {\n setDeleteDialogVisible(true);\n } else {\n formik.setFieldValue(\"profilePicture\", null);\n setPreviewImage(null);\n }\n };\n\n const confirmReplace = async () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n try {\n if (existing?.id) {\n await deleteMedia(existing.id).unwrap();\n }\n\n if (pendingFile) {\n formik.setFieldValue(\"profilePicture\", pendingFile);\n setTimeout(() => {\n formik.submitForm();\n }, 0);\n }\n\n } catch (error) {\n showToast(toast, \"error\", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_DELETED_IMAGE);\n }\n\n setReplaceDialogVisible(false);\n setPendingFile(null);\n };\n\n const confirmDelete = async () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing?.id) {\n try {\n await deleteMedia(existing.id).unwrap();\n showToast(toast, \"success\", ERROR_MESSAGES.DELETED, ERROR_MESSAGES.PROFILE_PICTURE_REMOVE);\n refetch();\n } catch {\n showToast(toast, \"error\", ERROR_MESSAGES.ERROR, ERROR_MESSAGES.FAILED_DELETED_IMAGE);\n }\n }\n\n formik.setFieldValue(\"profilePicture\", null);\n setPreviewImage(null);\n setDeleteDialogVisible(false);\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <Toast ref={toast} />\n <div>\n <div>\n <label className=\"form-field-label mb-2 font-bold\">Profile Picture</label>\n <div className=\"flex align-items-center gap-3\">\n {previewImage ? (\n <Avatar image={previewImage} shape=\"circle\"\n style={{\n height: '5rem',\n width: '5rem'\n }}\n />\n ) : userData?.data?._media?.profilePicture?.[0]?._full_url ? (\n <div className=\"relative\">\n <Avatar\n image={userData?.data?._media?.profilePicture?.[0]?._full_url}\n shape=\"circle\"\n style={{\n height: '5rem',\n width: '5rem'\n }}\n />\n <div className={styles.SolidRemoveProfile} onClick={handleDeleteAvatar}>\n <span className=\"pi pi-times\" />\n </div>\n </div>\n ) : (\n <Avatar\n label={initials}\n size=\"xlarge\"\n shape=\"circle\"\n style={{\n backgroundColor: bgColor,\n color: '#ffffff',\n height: '5rem',\n width: '5rem'\n }}\n />\n )}\n\n <div className=\"flex gap-2\">\n <Button\n type=\"button\"\n size=\"small\"\n severity=\"secondary\"\n label=\"Upload Avatar\"\n outlined\n className=\"small-button\"\n onClick={() => fileInputRef.current?.click()}\n />\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\".jpg,.jpeg,.png,.svg\"\n hidden\n onChange={(e) => {\n const file = e.target.files?.[0];\n if (file) handleFileChange(file);\n }}\n />\n </div>\n </div>\n </div>\n <div className='mt-4 mb-2 sm:mb-0' style={{ borderBottom: '1px dashed #D8E2EA' }}></div>\n <div className=\"mt-4\">\n <label className=\"form-field-label mb-2 font-bold\">Details</label>\n <div className=\"grid\">\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Name</label>\n <InputText\n name=\"fullName\"\n value={formik.values.fullName}\n onChange={formik.handleChange}\n className=\"w-full\"\n />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Email</label>\n <InputText disabled placeholder={userData?.data?.email} value={userData?.data?.email}\n className=\"w-full\" />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Contact Number</label>\n <InputText disabled placeholder={userData?.data?.mobile} value={userData?.data?.mobile}\n className=\"w-full\" />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Role</label>\n <AutoComplete\n multiple\n disabled\n value={userData?.data?.roles?.map((role: any) => role.name) || []}\n />\n\n </div>\n </div>\n </div>\n </div>\n <div>\n <Button\n type=\"submit\"\n size=\"small\"\n label=\"Save\"\n />\n </div>\n <Dialog\n header={<h5 className='m-0 font-bold'>Replace Profile Picture</h5>}\n visible={replaceDialogVisible}\n headerClassName=\"px-4 py-3 secondary-border-bottom\"\n contentClassName=\"p-0\"\n style={{ width: '25vw' }}\n className=\"solid-confirm-dialog \"\n modal\n onHide={() => setReplaceDialogVisible(false)}\n >\n <div className=\"p-4\">\n Do you want to replace the existing profile picture?\n <div className=\"flex justify-content-start mt-4 gap-2\">\n <Button size=\"small\" label=\"Confirm\" severity=\"danger\" onClick={confirmReplace} />\n <Button size=\"small\" outlined label=\"Cancel\" onClick={() => setReplaceDialogVisible(false)} />\n </div>\n </div>\n </Dialog>\n\n <Dialog\n header={<h5 className='m-0 font-bold'>Delete Profile Picture</h5>}\n visible={deleteDialogVisible}\n headerClassName=\"px-4 py-3 secondary-border-bottom\"\n contentClassName=\"p-0\"\n style={{ width: '25vw' }}\n modal\n className=\"solid-confirm-dialog \"\n onHide={() => setDeleteDialogVisible(false)}\n >\n <div className=\"p-4\">\n Do you want to delete your profile picture?\n <div className=\"flex justify-content-start mt-4 gap-2\">\n <Button size=\"small\" label=\"Confirm\" severity=\"danger\" onClick={confirmDelete} />\n <Button size=\"small\" outlined label=\"Cancel\" onClick={() => setDeleteDialogVisible(false)} />\n </div>\n </div>\n </Dialog>\n\n </form>\n )\n}"]}
1
+ {"version":3,"file":"SolidPersonalInfo.js","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidAccountSettings/SolidPersonalInfo.tsx"],"names":[],"mappings":"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","sourcesContent":["\n\nimport { useDeleteMediaMutation } from \"../../../../redux/api/mediaApi\";\nimport { useGetUserQuery, useUpdateUserProfileMutation } from \"../../../../redux/api/userApi\";\nimport { useFormik } from \"formik\";\nimport { AutoComplete } from \"primereact/autocomplete\";\nimport { Avatar } from \"primereact/avatar\";\nimport { Button } from \"primereact/button\";\nimport { Dialog } from \"primereact/dialog\";\nimport { InputText } from \"primereact/inputtext\";\nimport { useRef, useState } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport { showToast } from '../../../../redux/features/toastSlice';\nimport styles from './SolidAccountSettings.module.css'\nimport { ERROR_MESSAGES } from \"../../../../constants/error-messages\";\nimport { useSession } from '../../../../hooks/useSession'\n\nexport const SolidPersonalInfo = () => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n const dispatch = useDispatch();\n\n const [previewImage, setPreviewImage] = useState<string | null>(null);\n const [deleteDialogVisible, setDeleteDialogVisible] = useState(false);\n const [replaceDialogVisible, setReplaceDialogVisible] = useState(false);\n const [pendingFile, setPendingFile] = useState<File | null>(null);\n\n const { data: session, status } = useSession();\n const user = session?.user;\n const userId = user?.id;\n\n const { data: userData, refetch } = useGetUserQuery(userId);\n\n const [\n deleteMedia,\n ] = useDeleteMediaMutation();\n const [updateUser] = useUpdateUserProfileMutation();\n\n const initialValues = {\n fullName: userData?.data?.fullName ?? \"\",\n profilePicture: userData?.data?._media?.profilePicture[0]?._full_url ?? null,\n };\n\n const formik = useFormik({\n initialValues,\n enableReinitialize: true,\n onSubmit: async (values) => {\n try {\n const formData = new FormData();\n if (values.fullName !== initialValues.fullName) {\n formData.append(\"fullName\", values.fullName);\n }\n\n if (values.profilePicture && values.profilePicture instanceof File) {\n formData.append(\"profilePicture\", values.profilePicture);\n }\n\n if (!formData.has(\"fullName\") && !formData.has(\"profilePicture\")) {\n dispatch(showToast({ severity: \"info\", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_UPDATE_MADE }));\n return;\n }\n\n const response = await updateUser({ data: formData }).unwrap();\n if (response?.statusCode === 200) {\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.PROFILE_SAVED, detail: ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY }));\n refetch();\n formik.resetForm();\n setPreviewImage(null);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPDATED_PROFILE }));\n }\n } catch (error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));\n }\n },\n });\n\n const getInitials = (value: string) => {\n if (!value) return \"\";\n\n const email = value.includes('@') ? value.split('@')[0] : value;\n return email[0]?.toUpperCase() || \"\";\n };\n\n const getColorFromInitials = (initials: string) => {\n let hash = 0;\n for (let i = 0; i < initials.length; i++) {\n hash = initials.charCodeAt(i) + ((hash << 5) - hash);\n }\n const hue = Math.abs(hash) % 360;\n return `hsl(${hue}, 60%, 60%)`;\n };\n const value = userData?.data?.email;\n const initials = getInitials(value);\n const bgColor = getColorFromInitials(initials);\n\n const handleFileChange = (file: File) => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing) {\n setPendingFile(file);\n setReplaceDialogVisible(true);\n } else {\n formik.setFieldValue(\"profilePicture\", file);\n setPreviewImage(URL.createObjectURL(file));\n }\n };\n\n\n const handleDeleteAvatar = () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing) {\n setDeleteDialogVisible(true);\n } else {\n formik.setFieldValue(\"profilePicture\", null);\n setPreviewImage(null);\n }\n };\n\n const confirmReplace = async () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n try {\n if (existing?.id) {\n await deleteMedia(existing.id).unwrap();\n }\n\n if (pendingFile) {\n formik.setFieldValue(\"profilePicture\", pendingFile);\n setTimeout(() => {\n formik.submitForm();\n }, 0);\n }\n\n } catch (error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));\n }\n\n setReplaceDialogVisible(false);\n setPendingFile(null);\n };\n\n const confirmDelete = async () => {\n const existing = userData?.data?._media?.profilePicture?.[0];\n if (existing?.id) {\n try {\n await deleteMedia(existing.id).unwrap();\n dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.PROFILE_PICTURE_REMOVE }));\n refetch();\n } catch {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));\n }\n }\n\n formik.setFieldValue(\"profilePicture\", null);\n setPreviewImage(null);\n setDeleteDialogVisible(false);\n };\n\n return (\n <form onSubmit={formik.handleSubmit} className=\"h-full flex flex-column justify-content-between\">\n <div>\n <div>\n <label className=\"form-field-label mb-2 font-bold\">Profile Picture</label>\n <div className=\"flex align-items-center gap-3\">\n {previewImage ? (\n <Avatar image={previewImage} shape=\"circle\"\n style={{\n height: '5rem',\n width: '5rem'\n }}\n />\n ) : userData?.data?._media?.profilePicture?.[0]?._full_url ? (\n <div className=\"relative\">\n <Avatar\n image={userData?.data?._media?.profilePicture?.[0]?._full_url}\n shape=\"circle\"\n style={{\n height: '5rem',\n width: '5rem'\n }}\n />\n <div className={styles.SolidRemoveProfile} onClick={handleDeleteAvatar}>\n <span className=\"pi pi-times\" />\n </div>\n </div>\n ) : (\n <Avatar\n label={initials}\n size=\"xlarge\"\n shape=\"circle\"\n style={{\n backgroundColor: bgColor,\n color: '#ffffff',\n height: '5rem',\n width: '5rem'\n }}\n />\n )}\n\n <div className=\"flex gap-2\">\n <Button\n type=\"button\"\n size=\"small\"\n severity=\"secondary\"\n label=\"Upload Avatar\"\n outlined\n className=\"small-button\"\n onClick={() => fileInputRef.current?.click()}\n />\n <input\n ref={fileInputRef}\n type=\"file\"\n accept=\".jpg,.jpeg,.png,.svg\"\n hidden\n onChange={(e) => {\n const file = e.target.files?.[0];\n if (file) handleFileChange(file);\n }}\n />\n </div>\n </div>\n </div>\n <div className='mt-4 mb-2 sm:mb-0' style={{ borderBottom: '1px dashed #D8E2EA' }}></div>\n <div className=\"mt-4\">\n <label className=\"form-field-label mb-2 font-bold\">Details</label>\n <div className=\"grid\">\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Name</label>\n <InputText\n name=\"fullName\"\n value={formik.values.fullName}\n onChange={formik.handleChange}\n className=\"w-full\"\n />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Email</label>\n <InputText disabled placeholder={userData?.data?.email} value={userData?.data?.email}\n className=\"w-full\" />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Contact Number</label>\n <InputText disabled placeholder={userData?.data?.mobile} value={userData?.data?.mobile}\n className=\"w-full\" />\n </div>\n <div className=\"col-12 md:col-8 lg:col-5\">\n <label className=\"form-field-label mb-2\">Role</label>\n <AutoComplete\n multiple\n disabled\n value={userData?.data?.roles?.map((role: any) => role.name) || []}\n />\n\n </div>\n </div>\n </div>\n </div>\n <div>\n <Button\n type=\"submit\"\n size=\"small\"\n label=\"Save\"\n />\n </div>\n <Dialog\n header={<h5 className='m-0 font-bold'>Replace Profile Picture</h5>}\n visible={replaceDialogVisible}\n headerClassName=\"px-4 py-3 secondary-border-bottom\"\n contentClassName=\"p-0\"\n style={{ width: '25vw' }}\n className=\"solid-confirm-dialog \"\n modal\n onHide={() => setReplaceDialogVisible(false)}\n >\n <div className=\"p-4\">\n Do you want to replace the existing profile picture?\n <div className=\"flex justify-content-start mt-4 gap-2\">\n <Button size=\"small\" label=\"Confirm\" severity=\"danger\" onClick={confirmReplace} />\n <Button size=\"small\" outlined label=\"Cancel\" onClick={() => setReplaceDialogVisible(false)} />\n </div>\n </div>\n </Dialog>\n\n <Dialog\n header={<h5 className='m-0 font-bold'>Delete Profile Picture</h5>}\n visible={deleteDialogVisible}\n headerClassName=\"px-4 py-3 secondary-border-bottom\"\n contentClassName=\"p-0\"\n style={{ width: '25vw' }}\n modal\n className=\"solid-confirm-dialog \"\n onHide={() => setDeleteDialogVisible(false)}\n >\n <div className=\"p-4\">\n Do you want to delete your profile picture?\n <div className=\"flex justify-content-start mt-4 gap-2\">\n <Button size=\"small\" label=\"Confirm\" severity=\"danger\" onClick={confirmDelete} />\n <Button size=\"small\" outlined label=\"Cancel\" onClick={() => setDeleteDialogVisible(false)} />\n </div>\n </div>\n </Dialog>\n\n </form>\n )\n}"]}
@@ -8,16 +8,16 @@ import { Avatar } from "primereact/avatar";
8
8
  import { Button } from "primereact/button";
9
9
  import { Dialog } from "primereact/dialog";
10
10
  import { InputText } from "primereact/inputtext";
11
- import { Toast } from "primereact/toast";
12
11
  import { useRef, useState } from "react";
12
+ import { useDispatch } from 'react-redux';
13
+ import { showToast } from '../../../../redux/features/toastSlice';
13
14
  import styles from './SolidAccountSettings.module.css'
14
15
  import { ERROR_MESSAGES } from "../../../../constants/error-messages";
15
- import showToast from "../../../../helpers/showToast";
16
16
  import { useSession } from '../../../../hooks/useSession'
17
17
 
18
18
  export const SolidPersonalInfo = () => {
19
19
  const fileInputRef = useRef<HTMLInputElement>(null);
20
- const toast = useRef<Toast>(null);
20
+ const dispatch = useDispatch();
21
21
 
22
22
  const [previewImage, setPreviewImage] = useState<string | null>(null);
23
23
  const [deleteDialogVisible, setDeleteDialogVisible] = useState(false);
@@ -55,21 +55,21 @@ export const SolidPersonalInfo = () => {
55
55
  }
56
56
 
57
57
  if (!formData.has("fullName") && !formData.has("profilePicture")) {
58
- showToast(toast, "info", ERROR_MESSAGES.NO_CHANGE, ERROR_MESSAGES.NO_UPDATE_MADE);
58
+ dispatch(showToast({ severity: "info", summary: ERROR_MESSAGES.NO_CHANGE, detail: ERROR_MESSAGES.NO_UPDATE_MADE }));
59
59
  return;
60
60
  }
61
61
 
62
62
  const response = await updateUser({ data: formData }).unwrap();
63
63
  if (response?.statusCode === 200) {
64
- showToast(toast, "success", ERROR_MESSAGES.PROFILE_SAVED, ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY);
64
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.PROFILE_SAVED, detail: ERROR_MESSAGES.PROFILE_SAVED_SUCCESSFULLY }));
65
65
  refetch();
66
66
  formik.resetForm();
67
67
  setPreviewImage(null);
68
68
  } else {
69
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_UPDATED_PROFILE);
69
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_UPDATED_PROFILE }));
70
70
  }
71
71
  } catch (error) {
72
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.SOMETHING_WRONG);
72
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.SOMETHING_WRONG }));
73
73
  }
74
74
  },
75
75
  });
@@ -130,7 +130,7 @@ export const SolidPersonalInfo = () => {
130
130
  }
131
131
 
132
132
  } catch (error) {
133
- showToast(toast, "error", ERROR_MESSAGES.FAILED, ERROR_MESSAGES.FAILED_DELETED_IMAGE);
133
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.FAILED, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));
134
134
  }
135
135
 
136
136
  setReplaceDialogVisible(false);
@@ -142,10 +142,10 @@ export const SolidPersonalInfo = () => {
142
142
  if (existing?.id) {
143
143
  try {
144
144
  await deleteMedia(existing.id).unwrap();
145
- showToast(toast, "success", ERROR_MESSAGES.DELETED, ERROR_MESSAGES.PROFILE_PICTURE_REMOVE);
145
+ dispatch(showToast({ severity: "success", summary: ERROR_MESSAGES.DELETED, detail: ERROR_MESSAGES.PROFILE_PICTURE_REMOVE }));
146
146
  refetch();
147
147
  } catch {
148
- showToast(toast, "error", ERROR_MESSAGES.ERROR, ERROR_MESSAGES.FAILED_DELETED_IMAGE);
148
+ dispatch(showToast({ severity: "error", summary: ERROR_MESSAGES.ERROR, detail: ERROR_MESSAGES.FAILED_DELETED_IMAGE }));
149
149
  }
150
150
  }
151
151
 
@@ -156,7 +156,6 @@ export const SolidPersonalInfo = () => {
156
156
 
157
157
  return (
158
158
  <form onSubmit={formik.handleSubmit} className="h-full flex flex-column justify-content-between">
159
- <Toast ref={toast} />
160
159
  <div>
161
160
  <div>
162
161
  <label className="form-field-label mb-2 font-bold">Profile Picture</label>
@@ -1 +1 @@
1
- {"version":3,"file":"SolidImportDropzone.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,yDAA0D,GAAG,4CAyG5F,CAAA"}
1
+ {"version":3,"file":"SolidImportDropzone.d.ts","sourceRoot":"","sources":["../../../../../src/components/core/common/SolidGenericImport/SolidImportDropzone.tsx"],"names":[],"mappings":"AAUA,eAAO,MAAM,mBAAmB,yDAA0D,GAAG,4CAwG5F,CAAA"}