@greatapps/common 1.1.694 → 1.1.697

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 (555) hide show
  1. package/dist/components/account/ConfigurationsMyAccountModal.mjs +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  3. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  5. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  6. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  7. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  8. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  9. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  10. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  11. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  14. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  15. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  16. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  17. package/dist/components/account/sections/TokenSection.mjs.map +1 -1
  18. package/dist/components/embeds/ClarityEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  20. package/dist/components/embeds/EmbedWidgets.mjs.map +1 -1
  21. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  22. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  23. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  24. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
  25. package/dist/components/layouts/NavBar.mjs.map +1 -1
  26. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
  27. package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
  28. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
  29. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  30. package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
  31. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  32. package/dist/components/modals/CreditsDisabledModal.mjs.map +1 -1
  33. package/dist/components/modals/Modals.mjs.map +1 -1
  34. package/dist/components/modals/PaidPlanRequiredModal.mjs.map +1 -1
  35. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  36. package/dist/components/modals/cards/CannotDeleteCardModal.mjs.map +1 -1
  37. package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
  38. package/dist/components/modals/cards/DeleteCardModal.mjs.map +1 -1
  39. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  40. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  41. package/dist/components/navigation/OverdueInvoiceBanner.mjs.map +1 -1
  42. package/dist/components/navigation/PendingCancellationBanner.mjs.map +1 -1
  43. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  44. package/dist/components/navigation/SubscriptionBanner.mjs.map +1 -1
  45. package/dist/components/navigation/TrialBanner.mjs.map +1 -1
  46. package/dist/components/navigation/UpcomingInvoiceBanner.mjs.map +1 -1
  47. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  48. package/dist/components/navigation/subcomponents/BottomLinks.mjs.map +1 -1
  49. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  50. package/dist/components/pages/NotFoundPage.mjs.map +1 -1
  51. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  52. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  53. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  54. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  55. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  56. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  57. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  58. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  59. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  60. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  61. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  62. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  63. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  64. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  65. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  66. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  67. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  68. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  69. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  70. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  71. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  72. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  73. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  74. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  75. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  76. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  77. package/dist/components/ui/form/FormField.mjs.map +1 -1
  78. package/dist/components/ui/form/Input.mjs.map +1 -1
  79. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  80. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  81. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  82. package/dist/components/ui/form/Select.mjs +1 -1
  83. package/dist/components/ui/form/Select.mjs.map +1 -1
  84. package/dist/components/ui/form/Switch.mjs.map +1 -1
  85. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  86. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  87. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  88. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  89. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  90. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  91. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs +10 -0
  92. package/dist/components/widgets/ImageUpload/ImageCropModal.mjs.map +1 -1
  93. package/dist/components/widgets/ImageUpload/ImageTooSmallModal.mjs.map +1 -1
  94. package/dist/components/widgets/ImageUpload/ImageUpload.mjs.map +1 -1
  95. package/dist/components/widgets/ImageUpload/index.mjs.map +1 -1
  96. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  97. package/dist/handlers.mjs.map +1 -1
  98. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  99. package/dist/hooks/useAuthQueryKey.mjs.map +1 -1
  100. package/dist/hooks/useBrandLoadingIcon.mjs.map +1 -1
  101. package/dist/hooks/useRouter.mjs.map +1 -1
  102. package/dist/http.mjs.map +1 -1
  103. package/dist/i18n/config.mjs.map +1 -1
  104. package/dist/i18n/country-language.mjs.map +1 -1
  105. package/dist/i18n/messages/en-us.mjs.map +1 -1
  106. package/dist/i18n/messages/es-es.mjs.map +1 -1
  107. package/dist/i18n/messages/index.mjs.map +1 -1
  108. package/dist/i18n/messages/pt-br.mjs.map +1 -1
  109. package/dist/i18n/normalize.mjs.map +1 -1
  110. package/dist/i18n/resolve-locale.mjs.map +1 -1
  111. package/dist/i18n.mjs.map +1 -1
  112. package/dist/index.mjs.map +1 -1
  113. package/dist/infra/http/api-fetch.mjs.map +1 -1
  114. package/dist/infra/route/parse-id.mjs.map +1 -1
  115. package/dist/infra/route/parse-numeric.mjs.map +1 -1
  116. package/dist/infra/route/safe-route-handler.mjs.map +1 -1
  117. package/dist/infra/route/search-params.mjs.map +1 -1
  118. package/dist/infra/utils/array.mjs.map +1 -1
  119. package/dist/infra/utils/date.mjs.map +1 -1
  120. package/dist/middleware.mjs.map +1 -1
  121. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  122. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  123. package/dist/modules/accounts/actions/get-account-token.action.mjs.map +1 -1
  124. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  125. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  126. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  127. package/dist/modules/accounts/hooks/use-account-token.hook.mjs.map +1 -1
  128. package/dist/modules/accounts/hooks/use-currency-formatter.hook.mjs.map +1 -1
  129. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  130. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  131. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  132. package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
  133. package/dist/modules/accounts/services/account-token.service.mjs.map +1 -1
  134. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  135. package/dist/modules/auth/actions/social-google-login.action.mjs.map +1 -1
  136. package/dist/modules/auth/actions/social-google-onboarding.action.mjs.map +1 -1
  137. package/dist/modules/auth/actions/unlink-google.action.mjs.map +1 -1
  138. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  139. package/dist/modules/auth/actions/verify-two-factor.action.mjs.map +1 -1
  140. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  141. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  142. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  143. package/dist/modules/auth/hooks/social-google-login.hook.mjs.map +1 -1
  144. package/dist/modules/auth/hooks/social-google-onboarding.hook.mjs.map +1 -1
  145. package/dist/modules/auth/hooks/unlink-google.hook.mjs.map +1 -1
  146. package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
  147. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  148. package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
  149. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  150. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  151. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  152. package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
  153. package/dist/modules/auth/utils/require-token-not-expired.mjs.map +1 -1
  154. package/dist/modules/auth/utils/require-valid-session.mjs.map +1 -1
  155. package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
  156. package/dist/modules/cards/actions/create-setup-intent.action.mjs.map +1 -1
  157. package/dist/modules/cards/actions/delete-card.action.mjs.map +1 -1
  158. package/dist/modules/cards/actions/set-default-card.action.mjs.map +1 -1
  159. package/dist/modules/cards/handlers/find-card-by-id.handler.mjs.map +1 -1
  160. package/dist/modules/cards/handlers/list-cards.handler.mjs.map +1 -1
  161. package/dist/modules/cards/hooks/card-by-id.hook.mjs.map +1 -1
  162. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  163. package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
  164. package/dist/modules/cards/hooks/create-setup-intent.hook.mjs.map +1 -1
  165. package/dist/modules/cards/hooks/delete-card.hook.mjs.map +1 -1
  166. package/dist/modules/cards/hooks/delete-confirmation.hook.mjs.map +1 -1
  167. package/dist/modules/cards/hooks/handle-delete-card.hook.mjs.map +1 -1
  168. package/dist/modules/cards/hooks/set-default-card.hook.mjs.map +1 -1
  169. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  170. package/dist/modules/cards/types.mjs.map +1 -1
  171. package/dist/modules/charges/actions/charge-action.action.mjs.map +1 -1
  172. package/dist/modules/charges/handlers/find-charge-by-id.handler.mjs.map +1 -1
  173. package/dist/modules/charges/handlers/list-charges.handler.mjs.map +1 -1
  174. package/dist/modules/charges/hooks/charge-action.hook.mjs.map +1 -1
  175. package/dist/modules/charges/hooks/charge-by-id.hook.mjs.map +1 -1
  176. package/dist/modules/charges/hooks/charges.hook.mjs.map +1 -1
  177. package/dist/modules/charges/services/charges.service.mjs.map +1 -1
  178. package/dist/modules/charges/types/charge.type.mjs.map +1 -1
  179. package/dist/modules/ia-credits/handlers/list-ia-credits.handler.mjs.map +1 -1
  180. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +1 -1
  181. package/dist/modules/images/actions/process-image.action.mjs.map +1 -1
  182. package/dist/modules/images/constants/image.constants.mjs.map +1 -1
  183. package/dist/modules/images/hooks/use-image-upload.hook.mjs +4 -1
  184. package/dist/modules/images/hooks/use-image-upload.hook.mjs.map +1 -1
  185. package/dist/modules/images/services/image-processing.service.mjs.map +1 -1
  186. package/dist/modules/images/utils/base64.mjs.map +1 -1
  187. package/dist/modules/images/utils/compress-image.mjs.map +1 -1
  188. package/dist/modules/images/utils/crop-image.mjs +6 -2
  189. package/dist/modules/images/utils/crop-image.mjs.map +1 -1
  190. package/dist/modules/images/utils/validate-image.mjs.map +1 -1
  191. package/dist/modules/pages/constants/query-keys.constants.mjs.map +1 -1
  192. package/dist/modules/pages/handlers/count-pages.handler.mjs.map +1 -1
  193. package/dist/modules/pages/hooks/count-pages.hook.mjs.map +1 -1
  194. package/dist/modules/pages/services/pages.service.mjs.map +1 -1
  195. package/dist/modules/plans/handlers/find-plan-by-id.handler.mjs.map +1 -1
  196. package/dist/modules/plans/handlers/list-plans.handler.mjs.map +1 -1
  197. package/dist/modules/plans/hooks/list-plans.hook.mjs.map +1 -1
  198. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  199. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  200. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  201. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  202. package/dist/modules/plans/utils/map-api-plan-to-ui.mjs.map +1 -1
  203. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  204. package/dist/modules/projects/actions/create-project.action.mjs.map +1 -1
  205. package/dist/modules/projects/actions/delete-project.action.mjs.map +1 -1
  206. package/dist/modules/projects/actions/find-project.action.mjs.map +1 -1
  207. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  208. package/dist/modules/projects/actions/list-projects.action.mjs.map +1 -1
  209. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  210. package/dist/modules/projects/actions/update-project.action.mjs.map +1 -1
  211. package/dist/modules/projects/handlers/find-project.handler.mjs.map +1 -1
  212. package/dist/modules/projects/handlers/list-all-account-users.handler.mjs.map +1 -1
  213. package/dist/modules/projects/handlers/list-available-users.handler.mjs.map +1 -1
  214. package/dist/modules/projects/handlers/list-project-users.handler.mjs.map +1 -1
  215. package/dist/modules/projects/handlers/list-projects.handler.mjs.map +1 -1
  216. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  217. package/dist/modules/projects/hooks/create-project.hook.mjs.map +1 -1
  218. package/dist/modules/projects/hooks/delete-project.hook.mjs.map +1 -1
  219. package/dist/modules/projects/hooks/find-project.hook.mjs.map +1 -1
  220. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  221. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  222. package/dist/modules/projects/hooks/list-infinite-projects.hook.mjs.map +1 -1
  223. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  224. package/dist/modules/projects/hooks/list-projects.hook.mjs.map +1 -1
  225. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  226. package/dist/modules/projects/hooks/update-project.hook.mjs.map +1 -1
  227. package/dist/modules/projects/services/projects.service.mjs.map +1 -1
  228. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  229. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  230. package/dist/modules/subscriptions/actions/update-subscription-payment.action.mjs.map +1 -1
  231. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  232. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  233. package/dist/modules/subscriptions/constants/subscription.constants.mjs.map +1 -1
  234. package/dist/modules/subscriptions/handlers/list-subscriptions.handler.mjs.map +1 -1
  235. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  236. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  237. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  238. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs.map +1 -1
  239. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  240. package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
  241. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  242. package/dist/modules/subscriptions/types/pix-pending.type.mjs.map +1 -1
  243. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  244. package/dist/modules/subscriptions/utils/get-subscription-cancellation-state.mjs.map +1 -1
  245. package/dist/modules/subscriptions/utils/get-subscription-expiry-date.mjs.map +1 -1
  246. package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
  247. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  248. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  249. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  250. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  251. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  252. package/dist/modules/users/handlers/list-messages.handler.mjs.map +1 -1
  253. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  254. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  255. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  256. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  257. package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
  258. package/dist/providers/auth.provider.mjs.map +1 -1
  259. package/dist/providers/navigation.provider.mjs.map +1 -1
  260. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  261. package/dist/route.mjs.map +1 -1
  262. package/dist/store/useAccountModals.mjs.map +1 -1
  263. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  264. package/dist/store/useCreditsDisabledModal.mjs.map +1 -1
  265. package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
  266. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  267. package/dist/store/usePaidPlanRequiredModal.mjs.map +1 -1
  268. package/dist/utils/constants/br-states.mjs.map +1 -1
  269. package/dist/utils/countries.mjs.map +1 -1
  270. package/dist/utils/format/currency.mjs.map +1 -1
  271. package/dist/utils/intl/cookie-domain.mjs.map +1 -1
  272. package/dist/utils/intl/locale-cookie.mjs.map +1 -1
  273. package/dist/utils/next-navigation.mjs.map +1 -1
  274. package/dist/utils/redirect.mjs.map +1 -1
  275. package/dist/utils/safeMutationAction.mjs.map +1 -1
  276. package/dist/utils/safeServerAction.mjs.map +1 -1
  277. package/dist/utils/withAction.mjs.map +1 -1
  278. package/package.json +115 -113
  279. package/src/components/account/ConfigurationsMyAccountModal.tsx +179 -179
  280. package/src/components/account/ConfirmDeleteAccountModal.tsx +110 -110
  281. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +68 -68
  282. package/src/components/account/DeleteAccountModal.tsx +160 -160
  283. package/src/components/account/DisableTwoFactorAuthModal.tsx +92 -92
  284. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +51 -51
  285. package/src/components/account/TwoFactorAuthModal.tsx +220 -220
  286. package/src/components/account/hooks/useChangePhoneForm.tsx +113 -113
  287. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +116 -116
  288. package/src/components/account/sections/ChangeEmailModal.tsx +239 -239
  289. package/src/components/account/sections/ChangePasswordSection.tsx +68 -68
  290. package/src/components/account/sections/ChangePhoneModal.tsx +273 -273
  291. package/src/components/account/sections/MyProfileSection.tsx +276 -276
  292. package/src/components/account/sections/PreferencesSection.tsx +278 -278
  293. package/src/components/account/sections/SecuritySection.tsx +102 -102
  294. package/src/components/account/sections/TokenSection.tsx +85 -85
  295. package/src/components/embeds/ClarityEmbed.tsx +70 -70
  296. package/src/components/embeds/CrispEmbed.tsx +195 -195
  297. package/src/components/embeds/EmbedWidgets.tsx +62 -62
  298. package/src/components/embeds/FrillEmbed.tsx +146 -146
  299. package/src/components/layouts/AppMobileNavBar.tsx +214 -214
  300. package/src/components/layouts/AppNavBar.tsx +40 -40
  301. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  302. package/src/components/layouts/NavBar.tsx +228 -228
  303. package/src/components/layouts/NotificationsPopover.tsx +120 -120
  304. package/src/components/layouts/ProfilePopover.tsx +191 -191
  305. package/src/components/layouts/SideBarNavigation.tsx +65 -65
  306. package/src/components/layouts/UsersSelectorPopover.tsx +236 -236
  307. package/src/components/layouts/WhitelabelCodes.tsx +59 -59
  308. package/src/components/modals/BuyCreditsModal.tsx +390 -390
  309. package/src/components/modals/CreditsDisabledModal.tsx +62 -62
  310. package/src/components/modals/Modals.tsx +25 -25
  311. package/src/components/modals/PaidPlanRequiredModal.tsx +60 -60
  312. package/src/components/modals/cards/AddCardModal.tsx +420 -420
  313. package/src/components/modals/cards/CannotDeleteCardModal.tsx +124 -124
  314. package/src/components/modals/cards/CardFormFields.tsx +363 -363
  315. package/src/components/modals/cards/DeleteCardModal.tsx +136 -136
  316. package/src/components/navigation/CancelledSubscriptionBanner.tsx +62 -62
  317. package/src/components/navigation/NavItemsContext.ts +20 -20
  318. package/src/components/navigation/OverdueInvoiceBanner.tsx +51 -51
  319. package/src/components/navigation/PendingCancellationBanner.tsx +60 -60
  320. package/src/components/navigation/ProjectSelectorPopover.tsx +180 -180
  321. package/src/components/navigation/SubscriptionBanner.tsx +94 -94
  322. package/src/components/navigation/TrialBanner.tsx +54 -54
  323. package/src/components/navigation/UpcomingInvoiceBanner.tsx +55 -55
  324. package/src/components/navigation/shells/TabsMobileShell.tsx +74 -74
  325. package/src/components/navigation/subcomponents/BottomLinks.tsx +85 -85
  326. package/src/components/navigation/subcomponents/ProjectSelector.tsx +184 -184
  327. package/src/components/pages/NotFoundPage.tsx +75 -75
  328. package/src/components/pages/notifications/Notifications.tsx +190 -190
  329. package/src/components/ui/buttons/Button.tsx +77 -77
  330. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  331. package/src/components/ui/buttons/CopyButton.tsx +59 -59
  332. package/src/components/ui/data-display/Accordion.tsx +81 -81
  333. package/src/components/ui/data-display/Badge.tsx +47 -47
  334. package/src/components/ui/data-display/Card.tsx +93 -93
  335. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  336. package/src/components/ui/data-display/CardItem.tsx +135 -135
  337. package/src/components/ui/data-display/Pagination.tsx +126 -126
  338. package/src/components/ui/data-display/PaymentInfoCard.tsx +193 -193
  339. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  340. package/src/components/ui/data-display/Separator.tsx +29 -29
  341. package/src/components/ui/data-display/Table.tsx +117 -117
  342. package/src/components/ui/data-display/Tabs.tsx +67 -67
  343. package/src/components/ui/feedback/CircularProgress.tsx +79 -79
  344. package/src/components/ui/feedback/DefaultCircularProgress.tsx +67 -67
  345. package/src/components/ui/feedback/LoadingOverlay.tsx +30 -30
  346. package/src/components/ui/feedback/Progress.tsx +40 -40
  347. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  348. package/src/components/ui/feedback/Toast.tsx +104 -104
  349. package/src/components/ui/form/Calendar.tsx +228 -228
  350. package/src/components/ui/form/Checkbox.tsx +31 -31
  351. package/src/components/ui/form/ComboboxField.tsx +159 -159
  352. package/src/components/ui/form/DatePicker.tsx +100 -100
  353. package/src/components/ui/form/DateRangePicker.tsx +111 -111
  354. package/src/components/ui/form/FormField.tsx +133 -133
  355. package/src/components/ui/form/Input.tsx +20 -20
  356. package/src/components/ui/form/InputOtp.tsx +80 -80
  357. package/src/components/ui/form/PhoneInput.tsx +210 -210
  358. package/src/components/ui/form/RadioGroup.tsx +45 -45
  359. package/src/components/ui/form/Select.tsx +200 -200
  360. package/src/components/ui/form/Switch.tsx +32 -32
  361. package/src/components/ui/form/Textarea.tsx +19 -19
  362. package/src/components/ui/overlay/Command.tsx +185 -185
  363. package/src/components/ui/overlay/Dialog.tsx +153 -153
  364. package/src/components/ui/overlay/Popover.tsx +49 -49
  365. package/src/components/ui/overlay/Sheet.tsx +170 -170
  366. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  367. package/src/components/widgets/ImageUpload/ImageCropModal.tsx +392 -382
  368. package/src/components/widgets/ImageUpload/ImageTooSmallModal.tsx +62 -62
  369. package/src/components/widgets/ImageUpload/ImageUpload.tsx +131 -131
  370. package/src/components/widgets/ImageUpload/index.ts +3 -3
  371. package/src/components/widgets/notifications/NotificationCard.tsx +73 -73
  372. package/src/handlers.ts +22 -22
  373. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  374. package/src/hooks/useAuthQueryKey.ts +32 -32
  375. package/src/hooks/useBrandLoadingIcon.tsx +18 -18
  376. package/src/hooks/useRouter.ts +38 -38
  377. package/src/http.ts +1 -1
  378. package/src/i18n/config.ts +17 -17
  379. package/src/i18n/country-language.ts +60 -60
  380. package/src/i18n/messages/en-us.ts +519 -519
  381. package/src/i18n/messages/es-es.ts +520 -520
  382. package/src/i18n/messages/index.ts +24 -24
  383. package/src/i18n/messages/pt-br.ts +543 -543
  384. package/src/i18n/normalize.ts +15 -15
  385. package/src/i18n/resolve-locale.ts +77 -77
  386. package/src/i18n.ts +10 -10
  387. package/src/index.ts +584 -584
  388. package/src/infra/http/api-fetch.ts +39 -39
  389. package/src/infra/route/parse-id.ts +9 -9
  390. package/src/infra/route/parse-numeric.ts +16 -16
  391. package/src/infra/route/safe-route-handler.ts +16 -16
  392. package/src/infra/route/search-params.ts +9 -9
  393. package/src/infra/utils/array.ts +167 -167
  394. package/src/infra/utils/date.ts +59 -59
  395. package/src/middleware.ts +4 -4
  396. package/src/modules/accounts/actions/account-management.action.ts +109 -109
  397. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  398. package/src/modules/accounts/actions/get-account-token.action.ts +8 -8
  399. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  400. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  401. package/src/modules/accounts/hooks/current-account.hook.tsx +26 -26
  402. package/src/modules/accounts/hooks/use-account-token.hook.tsx +14 -14
  403. package/src/modules/accounts/hooks/use-currency-formatter.hook.tsx +32 -32
  404. package/src/modules/accounts/hooks/useAccountManagement.ts +95 -95
  405. package/src/modules/accounts/hooks/useCurrencies.ts +18 -18
  406. package/src/modules/accounts/hooks/useTimezones.ts +18 -18
  407. package/src/modules/accounts/hooks/useViaCep.ts +25 -25
  408. package/src/modules/accounts/services/account-token.service.ts +52 -52
  409. package/src/modules/accounts/services/account.service.ts +243 -243
  410. package/src/modules/accounts/types.ts +230 -230
  411. package/src/modules/auth/actions/social-google-login.action.ts +12 -12
  412. package/src/modules/auth/actions/social-google-onboarding.action.ts +13 -13
  413. package/src/modules/auth/actions/unlink-google.action.ts +8 -8
  414. package/src/modules/auth/actions/validate-session.action.ts +70 -70
  415. package/src/modules/auth/actions/verify-two-factor.action.ts +19 -19
  416. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  417. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  418. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  419. package/src/modules/auth/hooks/social-google-login.hook.tsx +13 -13
  420. package/src/modules/auth/hooks/social-google-onboarding.hook.tsx +13 -13
  421. package/src/modules/auth/hooks/unlink-google.hook.tsx +13 -13
  422. package/src/modules/auth/hooks/useManagementPermissions.ts +52 -52
  423. package/src/modules/auth/hooks/useUserQuery.ts +103 -103
  424. package/src/modules/auth/types/management-permission.type.ts +14 -14
  425. package/src/modules/auth/utils/assert-management-permission.ts +56 -56
  426. package/src/modules/auth/utils/assert-management-subscription.ts +38 -38
  427. package/src/modules/auth/utils/assert-paid-subscription.ts +47 -47
  428. package/src/modules/auth/utils/assert-subscription-addon.ts +42 -42
  429. package/src/modules/auth/utils/build-wl-override.ts +43 -43
  430. package/src/modules/auth/utils/require-token-not-expired.ts +53 -53
  431. package/src/modules/auth/utils/require-valid-session.ts +35 -35
  432. package/src/modules/cards/actions/create-card.action.ts +9 -9
  433. package/src/modules/cards/actions/create-setup-intent.action.ts +8 -8
  434. package/src/modules/cards/actions/delete-card.action.ts +8 -8
  435. package/src/modules/cards/actions/set-default-card.action.ts +8 -8
  436. package/src/modules/cards/handlers/find-card-by-id.handler.ts +15 -15
  437. package/src/modules/cards/handlers/list-cards.handler.ts +10 -10
  438. package/src/modules/cards/hooks/card-by-id.hook.ts +17 -17
  439. package/src/modules/cards/hooks/cards.hook.ts +22 -22
  440. package/src/modules/cards/hooks/create-card.hook.ts +30 -30
  441. package/src/modules/cards/hooks/create-setup-intent.hook.ts +11 -11
  442. package/src/modules/cards/hooks/delete-card.hook.ts +52 -52
  443. package/src/modules/cards/hooks/delete-confirmation.hook.ts +40 -40
  444. package/src/modules/cards/hooks/handle-delete-card.hook.ts +47 -47
  445. package/src/modules/cards/hooks/set-default-card.hook.ts +55 -55
  446. package/src/modules/cards/services/cards.service.ts +136 -136
  447. package/src/modules/cards/types.ts +52 -52
  448. package/src/modules/charges/actions/charge-action.action.ts +13 -13
  449. package/src/modules/charges/handlers/find-charge-by-id.handler.ts +14 -14
  450. package/src/modules/charges/handlers/list-charges.handler.ts +15 -15
  451. package/src/modules/charges/hooks/charge-action.hook.ts +24 -24
  452. package/src/modules/charges/hooks/charge-by-id.hook.ts +19 -19
  453. package/src/modules/charges/hooks/charges.hook.ts +19 -19
  454. package/src/modules/charges/services/charges.service.ts +63 -63
  455. package/src/modules/charges/types/charge.type.ts +68 -68
  456. package/src/modules/ia-credits/handlers/list-ia-credits.handler.ts +14 -14
  457. package/src/modules/ia-credits/hooks/ia-credits.hook.ts +103 -103
  458. package/src/modules/images/actions/process-image.action.ts +40 -40
  459. package/src/modules/images/constants/image.constants.ts +11 -11
  460. package/src/modules/images/hooks/use-image-upload.hook.ts +153 -145
  461. package/src/modules/images/services/image-processing.service.ts +75 -75
  462. package/src/modules/images/types/image.type.ts +54 -54
  463. package/src/modules/images/utils/base64.ts +26 -26
  464. package/src/modules/images/utils/compress-image.ts +20 -20
  465. package/src/modules/images/utils/crop-image.ts +68 -51
  466. package/src/modules/images/utils/validate-image.ts +86 -86
  467. package/src/modules/pages/constants/query-keys.constants.ts +1 -1
  468. package/src/modules/pages/handlers/count-pages.handler.ts +12 -12
  469. package/src/modules/pages/hooks/count-pages.hook.ts +21 -21
  470. package/src/modules/pages/services/pages.service.ts +27 -27
  471. package/src/modules/plans/handlers/find-plan-by-id.handler.ts +14 -14
  472. package/src/modules/plans/handlers/list-plans.handler.ts +22 -22
  473. package/src/modules/plans/hooks/list-plans.hook.ts +23 -23
  474. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +14 -14
  475. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +39 -39
  476. package/src/modules/plans/services/plans.service.ts +135 -135
  477. package/src/modules/plans/types/plan.type.ts +75 -75
  478. package/src/modules/plans/utils/map-api-plan-to-ui.ts +167 -167
  479. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  480. package/src/modules/projects/actions/create-project.action.ts +9 -9
  481. package/src/modules/projects/actions/delete-project.action.ts +8 -8
  482. package/src/modules/projects/actions/find-project.action.ts +8 -8
  483. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  484. package/src/modules/projects/actions/list-projects.action.ts +16 -16
  485. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  486. package/src/modules/projects/actions/update-project.action.ts +9 -9
  487. package/src/modules/projects/handlers/find-project.handler.ts +15 -15
  488. package/src/modules/projects/handlers/list-all-account-users.handler.ts +23 -23
  489. package/src/modules/projects/handlers/list-available-users.handler.ts +26 -26
  490. package/src/modules/projects/handlers/list-project-users.handler.ts +26 -26
  491. package/src/modules/projects/handlers/list-projects.handler.ts +23 -23
  492. package/src/modules/projects/hooks/add-project-user.hook.ts +72 -72
  493. package/src/modules/projects/hooks/create-project.hook.ts +120 -120
  494. package/src/modules/projects/hooks/delete-project.hook.ts +58 -58
  495. package/src/modules/projects/hooks/find-project.hook.ts +18 -18
  496. package/src/modules/projects/hooks/list-all-account-users.hook.ts +40 -40
  497. package/src/modules/projects/hooks/list-available-users.hook.ts +39 -39
  498. package/src/modules/projects/hooks/list-infinite-projects.hook.ts +44 -44
  499. package/src/modules/projects/hooks/list-project-users.hook.ts +39 -39
  500. package/src/modules/projects/hooks/list-projects.hook.ts +23 -23
  501. package/src/modules/projects/hooks/remove-project-user.hook.ts +72 -72
  502. package/src/modules/projects/hooks/update-project.hook.ts +86 -86
  503. package/src/modules/projects/services/projects.service.ts +156 -156
  504. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  505. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  506. package/src/modules/subscriptions/actions/update-subscription-payment.action.ts +13 -13
  507. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
  508. package/src/modules/subscriptions/constants/query-keys.constants.ts +3 -3
  509. package/src/modules/subscriptions/constants/subscription.constants.ts +1 -1
  510. package/src/modules/subscriptions/handlers/list-subscriptions.handler.ts +17 -17
  511. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  512. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +22 -22
  513. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +22 -22
  514. package/src/modules/subscriptions/hooks/update-subscription-payment.hook.ts +25 -25
  515. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +28 -28
  516. package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +44 -44
  517. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  518. package/src/modules/subscriptions/types/calculate-subscription.type.ts +116 -116
  519. package/src/modules/subscriptions/types/pix-pending.type.ts +38 -38
  520. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  521. package/src/modules/subscriptions/utils/get-subscription-cancellation-state.ts +37 -37
  522. package/src/modules/subscriptions/utils/get-subscription-expiry-date.ts +33 -33
  523. package/src/modules/subscriptions/utils/has-subscription-expired.ts +11 -11
  524. package/src/modules/subscriptions/utils/periodicity.ts +79 -79
  525. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  526. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  527. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  528. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  529. package/src/modules/users/handlers/list-messages.handler.ts +39 -39
  530. package/src/modules/users/hooks/messages.hook.ts +69 -69
  531. package/src/modules/users/services/messages.service.ts +49 -49
  532. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  533. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  534. package/src/modules/whitelabel/schema.ts +84 -84
  535. package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
  536. package/src/providers/auth.provider.tsx +264 -264
  537. package/src/providers/navigation.provider.tsx +99 -99
  538. package/src/providers/whitelabel.provider.tsx +90 -90
  539. package/src/route.ts +4 -4
  540. package/src/store/useAccountModals.ts +85 -85
  541. package/src/store/useBuyCreditsModal.ts +21 -21
  542. package/src/store/useCreditsDisabledModal.ts +11 -11
  543. package/src/store/useDesktopSidebarStore.ts +47 -47
  544. package/src/store/useMdSidebarStore.ts +34 -34
  545. package/src/store/usePaidPlanRequiredModal.ts +19 -19
  546. package/src/utils/constants/br-states.ts +29 -29
  547. package/src/utils/countries.ts +224 -224
  548. package/src/utils/format/currency.ts +70 -70
  549. package/src/utils/intl/cookie-domain.ts +29 -29
  550. package/src/utils/intl/locale-cookie.ts +18 -18
  551. package/src/utils/next-navigation.ts +7 -7
  552. package/src/utils/redirect.ts +78 -78
  553. package/src/utils/safeMutationAction.ts +24 -24
  554. package/src/utils/safeServerAction.ts +21 -21
  555. package/src/utils/withAction.ts +13 -13
@@ -1,109 +1,109 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { safeMutationAction } from '../../../utils/safeMutationAction';
5
- import { accountService } from '../services/account.service';
6
- import type {
7
- AccountUsersPaginationParams,
8
- ChangePasswordRequest,
9
- CreateAccountUserRequest,
10
- DeleteAccountRequest,
11
- UpdateAccountRequest,
12
- UpdateAccountUserRequest,
13
- } from '../types';
14
- import { twoFactorService } from '../services/two-factor.service';
15
- import { findUserById } from '../../users/action/find-user-by-id.action';
16
- import { UserProfile } from '../../users/schema';
17
- import { ApiError } from '../../../infra/api/types';
18
-
19
- export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
20
- return safeServerAction(async () => {
21
- const { users, total } = await accountService.listAccountUsers(params);
22
- return { data: users, total };
23
- });
24
- }
25
-
26
- export async function updateUserAction(user: UpdateAccountUserRequest) {
27
- return safeMutationAction(() => accountService.updateAccountUser(user));
28
- }
29
-
30
- export async function updateAccountUserByIdAction(
31
- userId: number,
32
- user: UpdateAccountUserRequest
33
- ) {
34
- return safeMutationAction(() => accountService.updateAccountUserById(userId, user));
35
- }
36
-
37
- export async function updateAccountAction(data: UpdateAccountRequest) {
38
- return safeMutationAction(async () => {
39
- if (data.name !== undefined) {
40
- const userResult = await findUserById();
41
- if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
42
- throw new ApiError(
43
- 'Apenas o proprietário da conta pode alterar o nome da empresa',
44
- 'FORBIDDEN',
45
- 403
46
- );
47
- }
48
- }
49
-
50
- return accountService.updateAccount(data);
51
- });
52
- }
53
-
54
- export async function deleteAccountUserAction(userId: number) {
55
- return safeMutationAction(() => accountService.deleteAccountUser(userId));
56
- }
57
-
58
- export async function deleteAccountAction(data: DeleteAccountRequest) {
59
- return safeMutationAction(() => accountService.deleteAccount(data));
60
- }
61
-
62
- export async function createAccountUserAction(user: CreateAccountUserRequest) {
63
- return safeMutationAction(() => accountService.createAccountUser(user));
64
- }
65
-
66
- export async function changePasswordAction(data: ChangePasswordRequest) {
67
- return safeMutationAction(() => accountService.changePassword(data));
68
- }
69
-
70
- export async function requestEmailChangeAction(newEmail: string) {
71
- return safeMutationAction(() => accountService.requestContactReset('email', newEmail));
72
- }
73
-
74
- export async function confirmEmailChangeAction(token: string, newEmail: string) {
75
- return safeMutationAction(() => accountService.confirmContactReset('email', token, newEmail));
76
- }
77
-
78
- export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
79
- return safeMutationAction(() => accountService.requestContactReset('phone', newPhone, ddi));
80
- }
81
-
82
- export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
83
- return safeMutationAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
84
- }
85
-
86
- export async function generateTwoFactorAction() {
87
- return safeMutationAction(async () => {
88
- const result = await twoFactorService.generate();
89
- return {
90
- qrcode: result.data.qrcode,
91
- backupCodes: result.data.backup_codes,
92
- };
93
- });
94
- }
95
-
96
- export async function confirmTwoFactorAction(code: string) {
97
- return safeMutationAction(async () => {
98
- await twoFactorService.confirm(code);
99
- await accountService.updateAccountUser({ two_factor_authentication: true });
100
- });
101
- }
102
-
103
- export async function disableTwoFactorAction(code: string) {
104
- return safeMutationAction(async () => {
105
- await twoFactorService.verify(code);
106
- await twoFactorService.disable();
107
- await accountService.updateAccountUser({ two_factor_authentication: false });
108
- });
109
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { safeMutationAction } from '../../../utils/safeMutationAction';
5
+ import { accountService } from '../services/account.service';
6
+ import type {
7
+ AccountUsersPaginationParams,
8
+ ChangePasswordRequest,
9
+ CreateAccountUserRequest,
10
+ DeleteAccountRequest,
11
+ UpdateAccountRequest,
12
+ UpdateAccountUserRequest,
13
+ } from '../types';
14
+ import { twoFactorService } from '../services/two-factor.service';
15
+ import { findUserById } from '../../users/action/find-user-by-id.action';
16
+ import { UserProfile } from '../../users/schema';
17
+ import { ApiError } from '../../../infra/api/types';
18
+
19
+ export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
20
+ return safeServerAction(async () => {
21
+ const { users, total } = await accountService.listAccountUsers(params);
22
+ return { data: users, total };
23
+ });
24
+ }
25
+
26
+ export async function updateUserAction(user: UpdateAccountUserRequest) {
27
+ return safeMutationAction(() => accountService.updateAccountUser(user));
28
+ }
29
+
30
+ export async function updateAccountUserByIdAction(
31
+ userId: number,
32
+ user: UpdateAccountUserRequest
33
+ ) {
34
+ return safeMutationAction(() => accountService.updateAccountUserById(userId, user));
35
+ }
36
+
37
+ export async function updateAccountAction(data: UpdateAccountRequest) {
38
+ return safeMutationAction(async () => {
39
+ if (data.name !== undefined) {
40
+ const userResult = await findUserById();
41
+ if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
42
+ throw new ApiError(
43
+ 'Apenas o proprietário da conta pode alterar o nome da empresa',
44
+ 'FORBIDDEN',
45
+ 403
46
+ );
47
+ }
48
+ }
49
+
50
+ return accountService.updateAccount(data);
51
+ });
52
+ }
53
+
54
+ export async function deleteAccountUserAction(userId: number) {
55
+ return safeMutationAction(() => accountService.deleteAccountUser(userId));
56
+ }
57
+
58
+ export async function deleteAccountAction(data: DeleteAccountRequest) {
59
+ return safeMutationAction(() => accountService.deleteAccount(data));
60
+ }
61
+
62
+ export async function createAccountUserAction(user: CreateAccountUserRequest) {
63
+ return safeMutationAction(() => accountService.createAccountUser(user));
64
+ }
65
+
66
+ export async function changePasswordAction(data: ChangePasswordRequest) {
67
+ return safeMutationAction(() => accountService.changePassword(data));
68
+ }
69
+
70
+ export async function requestEmailChangeAction(newEmail: string) {
71
+ return safeMutationAction(() => accountService.requestContactReset('email', newEmail));
72
+ }
73
+
74
+ export async function confirmEmailChangeAction(token: string, newEmail: string) {
75
+ return safeMutationAction(() => accountService.confirmContactReset('email', token, newEmail));
76
+ }
77
+
78
+ export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
79
+ return safeMutationAction(() => accountService.requestContactReset('phone', newPhone, ddi));
80
+ }
81
+
82
+ export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
83
+ return safeMutationAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
84
+ }
85
+
86
+ export async function generateTwoFactorAction() {
87
+ return safeMutationAction(async () => {
88
+ const result = await twoFactorService.generate();
89
+ return {
90
+ qrcode: result.data.qrcode,
91
+ backupCodes: result.data.backup_codes,
92
+ };
93
+ });
94
+ }
95
+
96
+ export async function confirmTwoFactorAction(code: string) {
97
+ return safeMutationAction(async () => {
98
+ await twoFactorService.confirm(code);
99
+ await accountService.updateAccountUser({ two_factor_authentication: true });
100
+ });
101
+ }
102
+
103
+ export async function disableTwoFactorAction(code: string) {
104
+ return safeMutationAction(async () => {
105
+ await twoFactorService.verify(code);
106
+ await twoFactorService.disable();
107
+ await accountService.updateAccountUser({ two_factor_authentication: false });
108
+ });
109
+ }
@@ -1,9 +1,9 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountService } from '../services/account.service';
5
- import type { Account } from '../types';
6
-
7
- export async function findCurrentAccount() {
8
- return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountService } from '../services/account.service';
5
+ import type { Account } from '../types';
6
+
7
+ export async function findCurrentAccount() {
8
+ return safeServerAction<Account>(() => accountService.findCurrentAccount());
9
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { accountTokenService } from '../services/account-token.service';
5
-
6
- export async function getAccountTokenAction() {
7
- return safeServerAction(() => accountTokenService.getOrCreateToken());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { accountTokenService } from '../services/account-token.service';
5
+
6
+ export async function getAccountTokenAction() {
7
+ return safeServerAction(() => accountTokenService.getOrCreateToken());
8
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { currencyService } from '../services/currency.service';
5
-
6
- export async function listCurrenciesAction() {
7
- return safeServerAction(() => currencyService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { currencyService } from '../services/currency.service';
5
+
6
+ export async function listCurrenciesAction() {
7
+ return safeServerAction(() => currencyService.fetchOptions());
8
+ }
@@ -1,8 +1,8 @@
1
- 'use server';
2
-
3
- import { safeServerAction } from '../../../utils/safeServerAction';
4
- import { timezoneService } from '../services/timezone.service';
5
-
6
- export async function listTimezonesAction() {
7
- return safeServerAction(() => timezoneService.fetchOptions());
8
- }
1
+ 'use server';
2
+
3
+ import { safeServerAction } from '../../../utils/safeServerAction';
4
+ import { timezoneService } from '../services/timezone.service';
5
+
6
+ export async function listTimezonesAction() {
7
+ return safeServerAction(() => timezoneService.fetchOptions());
8
+ }
@@ -1,26 +1,26 @@
1
- 'use client';
2
-
3
- import { useQuery, useQueryClient } from '@tanstack/react-query';
4
- import { findCurrentAccount } from '../actions/find-current-account.action';
5
- import { withAction } from '../../../utils/withAction';
6
- import { useWlQueryKey } from '../../../hooks/useAuthQueryKey';
7
-
8
- export const ACCOUNT_QUERY_KEY = ['account'] as const;
9
-
10
- export function useCurrentAccount() {
11
- const queryKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
12
-
13
- return useQuery({
14
- queryKey,
15
- queryFn: withAction(findCurrentAccount),
16
- staleTime: 0,
17
- gcTime: 10 * 60 * 1000,
18
- retry: false,
19
- });
20
- }
21
-
22
- export function useInvalidateAccount() {
23
- const queryClient = useQueryClient();
24
- const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
25
- return () => queryClient.invalidateQueries({ queryKey: accountKey });
26
- }
1
+ 'use client';
2
+
3
+ import { useQuery, useQueryClient } from '@tanstack/react-query';
4
+ import { findCurrentAccount } from '../actions/find-current-account.action';
5
+ import { withAction } from '../../../utils/withAction';
6
+ import { useWlQueryKey } from '../../../hooks/useAuthQueryKey';
7
+
8
+ export const ACCOUNT_QUERY_KEY = ['account'] as const;
9
+
10
+ export function useCurrentAccount() {
11
+ const queryKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
12
+
13
+ return useQuery({
14
+ queryKey,
15
+ queryFn: withAction(findCurrentAccount),
16
+ staleTime: 0,
17
+ gcTime: 10 * 60 * 1000,
18
+ retry: false,
19
+ });
20
+ }
21
+
22
+ export function useInvalidateAccount() {
23
+ const queryClient = useQueryClient();
24
+ const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
25
+ return () => queryClient.invalidateQueries({ queryKey: accountKey });
26
+ }
@@ -1,14 +1,14 @@
1
- 'use client';
2
-
3
- import { useQuery } from '@tanstack/react-query';
4
- import { withAction } from '../../../utils/withAction';
5
- import { getAccountTokenAction } from '../actions/get-account-token.action';
6
-
7
- const ACCOUNT_TOKEN_QUERY_KEY = ['account-token'];
8
-
9
- export function useAccountToken() {
10
- return useQuery({
11
- queryKey: ACCOUNT_TOKEN_QUERY_KEY,
12
- queryFn: withAction(getAccountTokenAction),
13
- });
14
- }
1
+ 'use client';
2
+
3
+ import { useQuery } from '@tanstack/react-query';
4
+ import { withAction } from '../../../utils/withAction';
5
+ import { getAccountTokenAction } from '../actions/get-account-token.action';
6
+
7
+ const ACCOUNT_TOKEN_QUERY_KEY = ['account-token'];
8
+
9
+ export function useAccountToken() {
10
+ return useQuery({
11
+ queryKey: ACCOUNT_TOKEN_QUERY_KEY,
12
+ queryFn: withAction(getAccountTokenAction),
13
+ });
14
+ }
@@ -1,32 +1,32 @@
1
- 'use client';
2
-
3
- import { useCurrentAccount } from './current-account.hook';
4
- import {
5
- formatCurrency as formatCurrencyBase,
6
- formatCurrencyNumber as formatCurrencyNumberBase,
7
- getCurrencyForGateway,
8
- type CurrencyCode,
9
- } from '../../../utils/format/currency';
10
-
11
- /**
12
- * Formatadores de moeda já amarrados à moeda da conta atual (derivada de account.gateway).
13
- *
14
- * Use em componentes client para exibir preços sem passar a moeda manualmente — a moeda é
15
- * determinada pelo backend (roteamento de gateway) e é read-only para o usuário.
16
- *
17
- * Conta stripe_usd → USD ('$1,234.56'); demais → BRL ('R$ 1.234,56').
18
- */
19
- export function useCurrencyFormatter(): {
20
- currency: CurrencyCode;
21
- formatCurrency: (value: string | number) => string;
22
- formatCurrencyNumber: (value?: number | null, decimals?: number) => string;
23
- } {
24
- const { data: account } = useCurrentAccount();
25
- const currency = getCurrencyForGateway(account?.gateway);
26
-
27
- return {
28
- currency,
29
- formatCurrency: (value) => formatCurrencyBase(value, currency),
30
- formatCurrencyNumber: (value, decimals = 2) => formatCurrencyNumberBase(value, decimals, currency),
31
- };
32
- }
1
+ 'use client';
2
+
3
+ import { useCurrentAccount } from './current-account.hook';
4
+ import {
5
+ formatCurrency as formatCurrencyBase,
6
+ formatCurrencyNumber as formatCurrencyNumberBase,
7
+ getCurrencyForGateway,
8
+ type CurrencyCode,
9
+ } from '../../../utils/format/currency';
10
+
11
+ /**
12
+ * Formatadores de moeda já amarrados à moeda da conta atual (derivada de account.gateway).
13
+ *
14
+ * Use em componentes client para exibir preços sem passar a moeda manualmente — a moeda é
15
+ * determinada pelo backend (roteamento de gateway) e é read-only para o usuário.
16
+ *
17
+ * Conta stripe_usd → USD ('$1,234.56'); demais → BRL ('R$ 1.234,56').
18
+ */
19
+ export function useCurrencyFormatter(): {
20
+ currency: CurrencyCode;
21
+ formatCurrency: (value: string | number) => string;
22
+ formatCurrencyNumber: (value?: number | null, decimals?: number) => string;
23
+ } {
24
+ const { data: account } = useCurrentAccount();
25
+ const currency = getCurrencyForGateway(account?.gateway);
26
+
27
+ return {
28
+ currency,
29
+ formatCurrency: (value) => formatCurrencyBase(value, currency),
30
+ formatCurrencyNumber: (value, decimals = 2) => formatCurrencyNumberBase(value, decimals, currency),
31
+ };
32
+ }
@@ -1,95 +1,95 @@
1
- 'use client';
2
-
3
- import { useMutation, useQueryClient } from '@tanstack/react-query';
4
- import { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';
5
- import { ACCOUNT_QUERY_KEY } from './current-account.hook';
6
- import type {
7
- UpdateAccountRequest,
8
- UpdateAccountUserRequest,
9
- DeleteAccountUserResponse,
10
- DeleteAccountRequest,
11
- DeleteAccountResponse,
12
- } from '../types';
13
- import {
14
- updateUserAction,
15
- updateAccountAction,
16
- updateAccountUserByIdAction,
17
- deleteAccountUserAction,
18
- deleteAccountAction,
19
- } from '../actions/account-management.action';
20
- import { withAction } from '../../../utils/withAction';
21
- import type { UseMutationOptions } from '@tanstack/react-query';
22
- import { useAuthQueryKey, useWlQueryKey } from '../../../hooks/useAuthQueryKey';
23
-
24
- export const ACCOUNT_USERS_QUERY_KEY = ['account-users'] as const;
25
-
26
- export function useUpdateAccount() {
27
- const queryClient = useQueryClient();
28
- const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
29
- const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
30
- const userKey = useWlQueryKey([...USER_QUERY_KEY]);
31
-
32
- return useMutation({
33
- mutationFn: withAction(updateAccountAction),
34
- onSuccess: () => {
35
- queryClient.invalidateQueries({ queryKey: accountUsersKey });
36
- queryClient.invalidateQueries({ queryKey: accountKey });
37
- queryClient.invalidateQueries({ queryKey: userKey });
38
- },
39
- });
40
- }
41
-
42
- export function useUpdateAccountUser() {
43
- const queryClient = useQueryClient();
44
- const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
45
- const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
46
- const userKey = useWlQueryKey([...USER_QUERY_KEY]);
47
-
48
- return useMutation({
49
- mutationFn: withAction(updateUserAction),
50
- onSuccess: () => {
51
- queryClient.invalidateQueries({ queryKey: accountUsersKey });
52
- queryClient.invalidateQueries({ queryKey: accountKey });
53
- queryClient.invalidateQueries({ queryKey: userKey });
54
- },
55
- });
56
- }
57
-
58
- export function useUpdateAccountUserById() {
59
- const queryClient = useQueryClient();
60
- const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
61
-
62
- return useMutation({
63
- mutationFn: withAction(({ userId: targetUserId, ...user }: UpdateAccountUserRequest & { userId: number }) =>
64
- updateAccountUserByIdAction(targetUserId, user)
65
- ),
66
- onSuccess: () => {
67
- queryClient.invalidateQueries({ queryKey: accountUsersKey });
68
- },
69
- });
70
- }
71
-
72
- export function useDeleteAccountUser(
73
- options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>
74
- ) {
75
- const queryClient = useQueryClient();
76
- const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
77
-
78
- return useMutation({
79
- mutationFn: withAction(deleteAccountUserAction),
80
- ...options,
81
- onSuccess: (...params) => {
82
- options?.onSuccess?.(...params);
83
- queryClient.invalidateQueries({ queryKey: accountUsersKey });
84
- },
85
- });
86
- }
87
-
88
- export function useDeleteAccount(
89
- options?: UseMutationOptions<DeleteAccountResponse, Error, DeleteAccountRequest>
90
- ) {
91
- return useMutation({
92
- mutationFn: withAction(deleteAccountAction),
93
- ...options,
94
- });
95
- }
1
+ 'use client';
2
+
3
+ import { useMutation, useQueryClient } from '@tanstack/react-query';
4
+ import { USER_QUERY_KEY } from '../../auth/hooks/useUserQuery';
5
+ import { ACCOUNT_QUERY_KEY } from './current-account.hook';
6
+ import type {
7
+ UpdateAccountRequest,
8
+ UpdateAccountUserRequest,
9
+ DeleteAccountUserResponse,
10
+ DeleteAccountRequest,
11
+ DeleteAccountResponse,
12
+ } from '../types';
13
+ import {
14
+ updateUserAction,
15
+ updateAccountAction,
16
+ updateAccountUserByIdAction,
17
+ deleteAccountUserAction,
18
+ deleteAccountAction,
19
+ } from '../actions/account-management.action';
20
+ import { withAction } from '../../../utils/withAction';
21
+ import type { UseMutationOptions } from '@tanstack/react-query';
22
+ import { useAuthQueryKey, useWlQueryKey } from '../../../hooks/useAuthQueryKey';
23
+
24
+ export const ACCOUNT_USERS_QUERY_KEY = ['account-users'] as const;
25
+
26
+ export function useUpdateAccount() {
27
+ const queryClient = useQueryClient();
28
+ const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
29
+ const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
30
+ const userKey = useWlQueryKey([...USER_QUERY_KEY]);
31
+
32
+ return useMutation({
33
+ mutationFn: withAction(updateAccountAction),
34
+ onSuccess: () => {
35
+ queryClient.invalidateQueries({ queryKey: accountUsersKey });
36
+ queryClient.invalidateQueries({ queryKey: accountKey });
37
+ queryClient.invalidateQueries({ queryKey: userKey });
38
+ },
39
+ });
40
+ }
41
+
42
+ export function useUpdateAccountUser() {
43
+ const queryClient = useQueryClient();
44
+ const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
45
+ const accountKey = useWlQueryKey([...ACCOUNT_QUERY_KEY]);
46
+ const userKey = useWlQueryKey([...USER_QUERY_KEY]);
47
+
48
+ return useMutation({
49
+ mutationFn: withAction(updateUserAction),
50
+ onSuccess: () => {
51
+ queryClient.invalidateQueries({ queryKey: accountUsersKey });
52
+ queryClient.invalidateQueries({ queryKey: accountKey });
53
+ queryClient.invalidateQueries({ queryKey: userKey });
54
+ },
55
+ });
56
+ }
57
+
58
+ export function useUpdateAccountUserById() {
59
+ const queryClient = useQueryClient();
60
+ const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
61
+
62
+ return useMutation({
63
+ mutationFn: withAction(({ userId: targetUserId, ...user }: UpdateAccountUserRequest & { userId: number }) =>
64
+ updateAccountUserByIdAction(targetUserId, user)
65
+ ),
66
+ onSuccess: () => {
67
+ queryClient.invalidateQueries({ queryKey: accountUsersKey });
68
+ },
69
+ });
70
+ }
71
+
72
+ export function useDeleteAccountUser(
73
+ options?: UseMutationOptions<DeleteAccountUserResponse, Error, number>
74
+ ) {
75
+ const queryClient = useQueryClient();
76
+ const accountUsersKey = useAuthQueryKey([...ACCOUNT_USERS_QUERY_KEY]);
77
+
78
+ return useMutation({
79
+ mutationFn: withAction(deleteAccountUserAction),
80
+ ...options,
81
+ onSuccess: (...params) => {
82
+ options?.onSuccess?.(...params);
83
+ queryClient.invalidateQueries({ queryKey: accountUsersKey });
84
+ },
85
+ });
86
+ }
87
+
88
+ export function useDeleteAccount(
89
+ options?: UseMutationOptions<DeleteAccountResponse, Error, DeleteAccountRequest>
90
+ ) {
91
+ return useMutation({
92
+ mutationFn: withAction(deleteAccountAction),
93
+ ...options,
94
+ });
95
+ }