@greatapps/common 1.1.170 → 1.1.173

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 (371) hide show
  1. package/package.json +1 -1
  2. package/src/modules/auth/schema.ts +1 -0
  3. package/src/modules/auth/services/auth.service.ts +1 -0
  4. package/dist/components/account/AccountModals.mjs +0 -18
  5. package/dist/components/account/AccountModals.mjs.map +0 -1
  6. package/dist/components/account/ConfigurationsMyAccountModal.mjs +0 -132
  7. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +0 -1
  8. package/dist/components/account/ConfirmDeleteAccountModal.mjs +0 -45
  9. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +0 -1
  10. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +0 -45
  11. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +0 -1
  12. package/dist/components/account/DeleteAccountModal.mjs +0 -123
  13. package/dist/components/account/DeleteAccountModal.mjs.map +0 -1
  14. package/dist/components/account/DisableTwoFactorAuthModal.mjs +0 -67
  15. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +0 -1
  16. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs +0 -42
  17. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +0 -1
  18. package/dist/components/account/TwoFactorAuthModal.mjs +0 -190
  19. package/dist/components/account/TwoFactorAuthModal.mjs.map +0 -1
  20. package/dist/components/account/constants.mjs +0 -29
  21. package/dist/components/account/constants.mjs.map +0 -1
  22. package/dist/components/account/hooks/useChangeEmailForm.mjs +0 -53
  23. package/dist/components/account/hooks/useChangeEmailForm.mjs.map +0 -1
  24. package/dist/components/account/hooks/useChangePasswordForm.mjs +0 -47
  25. package/dist/components/account/hooks/useChangePasswordForm.mjs.map +0 -1
  26. package/dist/components/account/hooks/useChangePhoneForm.mjs +0 -64
  27. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +0 -1
  28. package/dist/components/account/hooks/useConfigurationsModal.mjs +0 -33
  29. package/dist/components/account/hooks/useConfigurationsModal.mjs.map +0 -1
  30. package/dist/components/account/hooks/useDisableTwoFactorAuthForm.mjs +0 -54
  31. package/dist/components/account/hooks/useDisableTwoFactorAuthForm.mjs.map +0 -1
  32. package/dist/components/account/hooks/useOtpVerification.mjs +0 -94
  33. package/dist/components/account/hooks/useOtpVerification.mjs.map +0 -1
  34. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs +0 -80
  35. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +0 -1
  36. package/dist/components/account/sections/ChangeEmailModal.mjs +0 -180
  37. package/dist/components/account/sections/ChangeEmailModal.mjs.map +0 -1
  38. package/dist/components/account/sections/ChangePasswordSection.mjs +0 -64
  39. package/dist/components/account/sections/ChangePasswordSection.mjs.map +0 -1
  40. package/dist/components/account/sections/ChangePhoneModal.mjs +0 -182
  41. package/dist/components/account/sections/ChangePhoneModal.mjs.map +0 -1
  42. package/dist/components/account/sections/MyProfileSection.mjs +0 -303
  43. package/dist/components/account/sections/MyProfileSection.mjs.map +0 -1
  44. package/dist/components/account/sections/PreferencesSection.mjs +0 -250
  45. package/dist/components/account/sections/PreferencesSection.mjs.map +0 -1
  46. package/dist/components/account/sections/SecuritySection.mjs +0 -147
  47. package/dist/components/account/sections/SecuritySection.mjs.map +0 -1
  48. package/dist/components/handlers/SearchParamsHandler.mjs +0 -24
  49. package/dist/components/handlers/SearchParamsHandler.mjs.map +0 -1
  50. package/dist/components/layouts/AppMobileNavBar.mjs +0 -115
  51. package/dist/components/layouts/AppMobileNavBar.mjs.map +0 -1
  52. package/dist/components/layouts/AppNavBar.mjs +0 -49
  53. package/dist/components/layouts/AppNavBar.mjs.map +0 -1
  54. package/dist/components/layouts/MainLayout.mjs +0 -60
  55. package/dist/components/layouts/MainLayout.mjs.map +0 -1
  56. package/dist/components/layouts/MdSideBarNavigation.mjs +0 -54
  57. package/dist/components/layouts/MdSideBarNavigation.mjs.map +0 -1
  58. package/dist/components/layouts/NavBar.mjs +0 -132
  59. package/dist/components/layouts/NavBar.mjs.map +0 -1
  60. package/dist/components/layouts/NavBarItem.mjs +0 -23
  61. package/dist/components/layouts/NavBarItem.mjs.map +0 -1
  62. package/dist/components/layouts/NotificationsPopover.mjs +0 -97
  63. package/dist/components/layouts/NotificationsPopover.mjs.map +0 -1
  64. package/dist/components/layouts/ProfilePopover.mjs +0 -149
  65. package/dist/components/layouts/ProfilePopover.mjs.map +0 -1
  66. package/dist/components/layouts/SideBarNavigation.mjs +0 -22
  67. package/dist/components/layouts/SideBarNavigation.mjs.map +0 -1
  68. package/dist/components/layouts/UsersSelectorPopover.mjs +0 -230
  69. package/dist/components/layouts/UsersSelectorPopover.mjs.map +0 -1
  70. package/dist/components/modals/ModalManager.mjs +0 -19
  71. package/dist/components/modals/ModalManager.mjs.map +0 -1
  72. package/dist/components/modals/Modals.mjs +0 -20
  73. package/dist/components/modals/Modals.mjs.map +0 -1
  74. package/dist/components/navigation/AppNavigation.mjs +0 -30
  75. package/dist/components/navigation/AppNavigation.mjs.map +0 -1
  76. package/dist/components/navigation/AppNavigationContext.mjs +0 -13
  77. package/dist/components/navigation/AppNavigationContext.mjs.map +0 -1
  78. package/dist/components/navigation/CancelledSubscriptionBanner.mjs +0 -59
  79. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +0 -1
  80. package/dist/components/navigation/NavItem.mjs +0 -35
  81. package/dist/components/navigation/NavItem.mjs.map +0 -1
  82. package/dist/components/navigation/NavItemsContext.mjs +0 -16
  83. package/dist/components/navigation/NavItemsContext.mjs.map +0 -1
  84. package/dist/components/navigation/ProjectSelectorPopover.mjs +0 -128
  85. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +0 -1
  86. package/dist/components/navigation/shells/DesktopShell.mjs +0 -11
  87. package/dist/components/navigation/shells/DesktopShell.mjs.map +0 -1
  88. package/dist/components/navigation/shells/MdShell.mjs +0 -11
  89. package/dist/components/navigation/shells/MdShell.mjs.map +0 -1
  90. package/dist/components/navigation/shells/MobileShell.mjs +0 -27
  91. package/dist/components/navigation/shells/MobileShell.mjs.map +0 -1
  92. package/dist/components/navigation/shells/TabsMobileShell.mjs +0 -59
  93. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +0 -1
  94. package/dist/components/navigation/subcomponents/CreditsCard.mjs +0 -30
  95. package/dist/components/navigation/subcomponents/CreditsCard.mjs.map +0 -1
  96. package/dist/components/navigation/subcomponents/NavItems.mjs +0 -25
  97. package/dist/components/navigation/subcomponents/NavItems.mjs.map +0 -1
  98. package/dist/components/navigation/subcomponents/PlanCard.mjs +0 -25
  99. package/dist/components/navigation/subcomponents/PlanCard.mjs.map +0 -1
  100. package/dist/components/navigation/subcomponents/ProjectSelector.mjs +0 -130
  101. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +0 -1
  102. package/dist/components/navigation/types.mjs +0 -1
  103. package/dist/components/navigation/types.mjs.map +0 -1
  104. package/dist/components/pages/notifications/Notifications.mjs +0 -156
  105. package/dist/components/pages/notifications/Notifications.mjs.map +0 -1
  106. package/dist/components/ui/buttons/Button.mjs +0 -52
  107. package/dist/components/ui/buttons/Button.mjs.map +0 -1
  108. package/dist/components/ui/buttons/CancelButton.mjs +0 -17
  109. package/dist/components/ui/buttons/CancelButton.mjs.map +0 -1
  110. package/dist/components/ui/buttons/CopyButton.mjs +0 -42
  111. package/dist/components/ui/buttons/CopyButton.mjs.map +0 -1
  112. package/dist/components/ui/data-display/Accordion.mjs +0 -76
  113. package/dist/components/ui/data-display/Accordion.mjs.map +0 -1
  114. package/dist/components/ui/data-display/Badge.mjs +0 -42
  115. package/dist/components/ui/data-display/Badge.mjs.map +0 -1
  116. package/dist/components/ui/data-display/Card.mjs +0 -92
  117. package/dist/components/ui/data-display/Card.mjs.map +0 -1
  118. package/dist/components/ui/data-display/Pagination.mjs +0 -118
  119. package/dist/components/ui/data-display/Pagination.mjs.map +0 -1
  120. package/dist/components/ui/data-display/ScrollArea.mjs +0 -62
  121. package/dist/components/ui/data-display/ScrollArea.mjs.map +0 -1
  122. package/dist/components/ui/data-display/Separator.mjs +0 -28
  123. package/dist/components/ui/data-display/Separator.mjs.map +0 -1
  124. package/dist/components/ui/data-display/Table.mjs +0 -116
  125. package/dist/components/ui/data-display/Table.mjs.map +0 -1
  126. package/dist/components/ui/data-display/Tabs.mjs +0 -69
  127. package/dist/components/ui/data-display/Tabs.mjs.map +0 -1
  128. package/dist/components/ui/data-display/UserAvatar.mjs +0 -49
  129. package/dist/components/ui/data-display/UserAvatar.mjs.map +0 -1
  130. package/dist/components/ui/feedback/CircularProgress.mjs +0 -71
  131. package/dist/components/ui/feedback/CircularProgress.mjs.map +0 -1
  132. package/dist/components/ui/feedback/DefaultCircularProgress.mjs +0 -50
  133. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +0 -1
  134. package/dist/components/ui/feedback/LoadingOverlay.mjs +0 -19
  135. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +0 -1
  136. package/dist/components/ui/feedback/Progress.mjs +0 -37
  137. package/dist/components/ui/feedback/Progress.mjs.map +0 -1
  138. package/dist/components/ui/feedback/Toast.mjs +0 -77
  139. package/dist/components/ui/feedback/Toast.mjs.map +0 -1
  140. package/dist/components/ui/form/Calendar.mjs +0 -204
  141. package/dist/components/ui/form/Calendar.mjs.map +0 -1
  142. package/dist/components/ui/form/Checkbox.mjs +0 -33
  143. package/dist/components/ui/form/Checkbox.mjs.map +0 -1
  144. package/dist/components/ui/form/ComboboxField.mjs +0 -130
  145. package/dist/components/ui/form/ComboboxField.mjs.map +0 -1
  146. package/dist/components/ui/form/DatePicker.mjs +0 -82
  147. package/dist/components/ui/form/DatePicker.mjs.map +0 -1
  148. package/dist/components/ui/form/DateRangePicker.mjs +0 -92
  149. package/dist/components/ui/form/DateRangePicker.mjs.map +0 -1
  150. package/dist/components/ui/form/FormField.mjs +0 -103
  151. package/dist/components/ui/form/FormField.mjs.map +0 -1
  152. package/dist/components/ui/form/Input.mjs +0 -21
  153. package/dist/components/ui/form/Input.mjs.map +0 -1
  154. package/dist/components/ui/form/InputOtp.mjs +0 -70
  155. package/dist/components/ui/form/InputOtp.mjs.map +0 -1
  156. package/dist/components/ui/form/PhoneInput.mjs +0 -78
  157. package/dist/components/ui/form/PhoneInput.mjs.map +0 -1
  158. package/dist/components/ui/form/RadioGroup.mjs +0 -37
  159. package/dist/components/ui/form/RadioGroup.mjs.map +0 -1
  160. package/dist/components/ui/form/Select.mjs +0 -179
  161. package/dist/components/ui/form/Select.mjs.map +0 -1
  162. package/dist/components/ui/form/SelectField.mjs +0 -80
  163. package/dist/components/ui/form/SelectField.mjs.map +0 -1
  164. package/dist/components/ui/form/Switch.mjs +0 -33
  165. package/dist/components/ui/form/Switch.mjs.map +0 -1
  166. package/dist/components/ui/form/SwitchOptionFieldWithIcon.mjs +0 -40
  167. package/dist/components/ui/form/SwitchOptionFieldWithIcon.mjs.map +0 -1
  168. package/dist/components/ui/form/TextAreaField.mjs +0 -56
  169. package/dist/components/ui/form/TextAreaField.mjs.map +0 -1
  170. package/dist/components/ui/form/Textarea.mjs +0 -20
  171. package/dist/components/ui/form/Textarea.mjs.map +0 -1
  172. package/dist/components/ui/overlay/Command.mjs +0 -178
  173. package/dist/components/ui/overlay/Command.mjs.map +0 -1
  174. package/dist/components/ui/overlay/Dialog.mjs +0 -142
  175. package/dist/components/ui/overlay/Dialog.mjs.map +0 -1
  176. package/dist/components/ui/overlay/Popover.mjs +0 -46
  177. package/dist/components/ui/overlay/Popover.mjs.map +0 -1
  178. package/dist/components/ui/overlay/Sheet.mjs +0 -142
  179. package/dist/components/ui/overlay/Sheet.mjs.map +0 -1
  180. package/dist/components/ui/overlay/Tooltip.mjs +0 -57
  181. package/dist/components/ui/overlay/Tooltip.mjs.map +0 -1
  182. package/dist/components/widgets/notifications/NotificationCard.mjs +0 -54
  183. package/dist/components/widgets/notifications/NotificationCard.mjs.map +0 -1
  184. package/dist/enums/AccountSectionType.mjs +0 -11
  185. package/dist/enums/AccountSectionType.mjs.map +0 -1
  186. package/dist/hooks/copy-to-clipboard.hook.mjs +0 -52
  187. package/dist/hooks/copy-to-clipboard.hook.mjs.map +0 -1
  188. package/dist/hooks/useCountdownTimer.mjs +0 -29
  189. package/dist/hooks/useCountdownTimer.mjs.map +0 -1
  190. package/dist/hooks/useDebounce.mjs +0 -19
  191. package/dist/hooks/useDebounce.mjs.map +0 -1
  192. package/dist/hooks/useDebounceState.mjs +0 -12
  193. package/dist/hooks/useDebounceState.mjs.map +0 -1
  194. package/dist/hooks/useDebouncedEffect.mjs +0 -44
  195. package/dist/hooks/useDebouncedEffect.mjs.map +0 -1
  196. package/dist/hooks/useIsMobile.mjs +0 -18
  197. package/dist/hooks/useIsMobile.mjs.map +0 -1
  198. package/dist/hooks/usePasswordVisibility.mjs +0 -13
  199. package/dist/hooks/usePasswordVisibility.mjs.map +0 -1
  200. package/dist/index.mjs +0 -457
  201. package/dist/index.mjs.map +0 -1
  202. package/dist/infra/api/client.mjs +0 -136
  203. package/dist/infra/api/client.mjs.map +0 -1
  204. package/dist/infra/api/types.mjs +0 -31
  205. package/dist/infra/api/types.mjs.map +0 -1
  206. package/dist/infra/utils/client-info.mjs +0 -27
  207. package/dist/infra/utils/client-info.mjs.map +0 -1
  208. package/dist/infra/utils/clsx.mjs +0 -9
  209. package/dist/infra/utils/clsx.mjs.map +0 -1
  210. package/dist/infra/utils/params.mjs +0 -21
  211. package/dist/infra/utils/params.mjs.map +0 -1
  212. package/dist/infra/utils/parser.mjs +0 -24
  213. package/dist/infra/utils/parser.mjs.map +0 -1
  214. package/dist/infra/utils/percentage.mjs +0 -20
  215. package/dist/infra/utils/percentage.mjs.map +0 -1
  216. package/dist/middleware.mjs +0 -10
  217. package/dist/middleware.mjs.map +0 -1
  218. package/dist/middlewares/chain.mjs +0 -37
  219. package/dist/middlewares/chain.mjs.map +0 -1
  220. package/dist/middlewares/create-auth-middleware.mjs +0 -28
  221. package/dist/middlewares/create-auth-middleware.mjs.map +0 -1
  222. package/dist/middlewares/types.mjs +0 -11
  223. package/dist/middlewares/types.mjs.map +0 -1
  224. package/dist/modules/accounts/actions/account-management.action.mjs +0 -82
  225. package/dist/modules/accounts/actions/account-management.action.mjs.map +0 -1
  226. package/dist/modules/accounts/actions/find-current-account.action.mjs +0 -10
  227. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +0 -1
  228. package/dist/modules/accounts/actions/list-currencies.action.mjs +0 -10
  229. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +0 -1
  230. package/dist/modules/accounts/actions/list-timezones.action.mjs +0 -10
  231. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +0 -1
  232. package/dist/modules/accounts/hooks/current-account.hook.mjs +0 -24
  233. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +0 -1
  234. package/dist/modules/accounts/hooks/useAccountManagement.mjs +0 -71
  235. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +0 -1
  236. package/dist/modules/accounts/hooks/useCurrencies.mjs +0 -17
  237. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +0 -1
  238. package/dist/modules/accounts/hooks/useTimezones.mjs +0 -17
  239. package/dist/modules/accounts/hooks/useTimezones.mjs.map +0 -1
  240. package/dist/modules/accounts/services/account.service.mjs +0 -180
  241. package/dist/modules/accounts/services/account.service.mjs.map +0 -1
  242. package/dist/modules/accounts/services/currency.service.mjs +0 -24
  243. package/dist/modules/accounts/services/currency.service.mjs.map +0 -1
  244. package/dist/modules/accounts/services/timezone.service.mjs +0 -65
  245. package/dist/modules/accounts/services/timezone.service.mjs.map +0 -1
  246. package/dist/modules/accounts/services/two-factor.service.mjs +0 -77
  247. package/dist/modules/accounts/services/two-factor.service.mjs.map +0 -1
  248. package/dist/modules/accounts/types.mjs +0 -1
  249. package/dist/modules/accounts/types.mjs.map +0 -1
  250. package/dist/modules/auth/actions/login.action.mjs +0 -14
  251. package/dist/modules/auth/actions/login.action.mjs.map +0 -1
  252. package/dist/modules/auth/actions/logout.action.mjs +0 -14
  253. package/dist/modules/auth/actions/logout.action.mjs.map +0 -1
  254. package/dist/modules/auth/actions/register.action.mjs +0 -14
  255. package/dist/modules/auth/actions/register.action.mjs.map +0 -1
  256. package/dist/modules/auth/actions/validate-session.action.mjs +0 -60
  257. package/dist/modules/auth/actions/validate-session.action.mjs.map +0 -1
  258. package/dist/modules/auth/actions/verify-two-factor.action.mjs +0 -17
  259. package/dist/modules/auth/actions/verify-two-factor.action.mjs.map +0 -1
  260. package/dist/modules/auth/hooks/login.hook.mjs +0 -13
  261. package/dist/modules/auth/hooks/login.hook.mjs.map +0 -1
  262. package/dist/modules/auth/hooks/logout.hook.mjs +0 -13
  263. package/dist/modules/auth/hooks/logout.hook.mjs.map +0 -1
  264. package/dist/modules/auth/hooks/register.hook.mjs +0 -13
  265. package/dist/modules/auth/hooks/register.hook.mjs.map +0 -1
  266. package/dist/modules/auth/hooks/useUserQuery.mjs +0 -63
  267. package/dist/modules/auth/hooks/useUserQuery.mjs.map +0 -1
  268. package/dist/modules/auth/schema.mjs +0 -1
  269. package/dist/modules/auth/schema.mjs.map +0 -1
  270. package/dist/modules/auth/services/auth.service.mjs +0 -293
  271. package/dist/modules/auth/services/auth.service.mjs.map +0 -1
  272. package/dist/modules/auth/utils/get-user-context.mjs +0 -24
  273. package/dist/modules/auth/utils/get-user-context.mjs.map +0 -1
  274. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs +0 -10
  275. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +0 -1
  276. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs +0 -76
  277. package/dist/modules/ia-credits/hooks/ia-credits.hook.mjs.map +0 -1
  278. package/dist/modules/ia-credits/services/ia-credits.service.mjs +0 -31
  279. package/dist/modules/ia-credits/services/ia-credits.service.mjs.map +0 -1
  280. package/dist/modules/ia-credits/types.mjs +0 -25
  281. package/dist/modules/ia-credits/types.mjs.map +0 -1
  282. package/dist/modules/projects/actions/add-project-user.action.mjs +0 -10
  283. package/dist/modules/projects/actions/add-project-user.action.mjs.map +0 -1
  284. package/dist/modules/projects/actions/list-available-users.action.mjs +0 -10
  285. package/dist/modules/projects/actions/list-available-users.action.mjs.map +0 -1
  286. package/dist/modules/projects/actions/list-project-users.action.mjs +0 -10
  287. package/dist/modules/projects/actions/list-project-users.action.mjs.map +0 -1
  288. package/dist/modules/projects/actions/remove-project-user.action.mjs +0 -10
  289. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +0 -1
  290. package/dist/modules/projects/hooks/list-available-users.hook.mjs +0 -34
  291. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +0 -1
  292. package/dist/modules/projects/hooks/list-project-users.hook.mjs +0 -34
  293. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +0 -1
  294. package/dist/modules/projects/services/project-users.service.mjs +0 -78
  295. package/dist/modules/projects/services/project-users.service.mjs.map +0 -1
  296. package/dist/modules/projects/types.mjs +0 -22
  297. package/dist/modules/projects/types.mjs.map +0 -1
  298. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs +0 -10
  299. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +0 -1
  300. package/dist/modules/subscriptions/constants/addons.constants.mjs +0 -12
  301. package/dist/modules/subscriptions/constants/addons.constants.mjs.map +0 -1
  302. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs +0 -20
  303. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +0 -1
  304. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs +0 -18
  305. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +0 -1
  306. package/dist/modules/subscriptions/services/subscriptions.service.mjs +0 -32
  307. package/dist/modules/subscriptions/services/subscriptions.service.mjs.map +0 -1
  308. package/dist/modules/subscriptions/types.mjs +0 -57
  309. package/dist/modules/subscriptions/types.mjs.map +0 -1
  310. package/dist/modules/users/action/find-user-by-id.action.mjs +0 -10
  311. package/dist/modules/users/action/find-user-by-id.action.mjs.map +0 -1
  312. package/dist/modules/users/action/list-messages.action.mjs +0 -13
  313. package/dist/modules/users/action/list-messages.action.mjs.map +0 -1
  314. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs +0 -10
  315. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +0 -1
  316. package/dist/modules/users/action/mark-message-as-read.action.mjs +0 -10
  317. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +0 -1
  318. package/dist/modules/users/hooks/messages.hook.mjs +0 -57
  319. package/dist/modules/users/hooks/messages.hook.mjs.map +0 -1
  320. package/dist/modules/users/schema/messages.schema.mjs +0 -21
  321. package/dist/modules/users/schema/messages.schema.mjs.map +0 -1
  322. package/dist/modules/users/schema.mjs +0 -11
  323. package/dist/modules/users/schema.mjs.map +0 -1
  324. package/dist/modules/users/services/messages.service.mjs +0 -35
  325. package/dist/modules/users/services/messages.service.mjs.map +0 -1
  326. package/dist/modules/users/services/user.service.mjs +0 -50
  327. package/dist/modules/users/services/user.service.mjs.map +0 -1
  328. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs +0 -15
  329. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +0 -1
  330. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs +0 -21
  331. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +0 -1
  332. package/dist/modules/whitelabel/schema.mjs +0 -1
  333. package/dist/modules/whitelabel/schema.mjs.map +0 -1
  334. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs +0 -81
  335. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +0 -1
  336. package/dist/modules/whitelabel/services/whitelabel.service.mjs +0 -61
  337. package/dist/modules/whitelabel/services/whitelabel.service.mjs.map +0 -1
  338. package/dist/modules/whitelabel/styles-schema.mjs +0 -1
  339. package/dist/modules/whitelabel/styles-schema.mjs.map +0 -1
  340. package/dist/providers/auth.provider.mjs +0 -100
  341. package/dist/providers/auth.provider.mjs.map +0 -1
  342. package/dist/providers/query.provider.mjs +0 -99
  343. package/dist/providers/query.provider.mjs.map +0 -1
  344. package/dist/providers/whitelabel.provider.mjs +0 -31
  345. package/dist/providers/whitelabel.provider.mjs.map +0 -1
  346. package/dist/server.mjs +0 -84
  347. package/dist/server.mjs.map +0 -1
  348. package/dist/store/useAccountModals.mjs +0 -18
  349. package/dist/store/useAccountModals.mjs.map +0 -1
  350. package/dist/store/useMdSidebarStore.mjs +0 -11
  351. package/dist/store/useMdSidebarStore.mjs.map +0 -1
  352. package/dist/store/useMobileNavbarSheet.mjs +0 -14
  353. package/dist/store/useMobileNavbarSheet.mjs.map +0 -1
  354. package/dist/store/useModalManager.mjs +0 -75
  355. package/dist/store/useModalManager.mjs.map +0 -1
  356. package/dist/utils/browser/clipboard.mjs +0 -36
  357. package/dist/utils/browser/clipboard.mjs.map +0 -1
  358. package/dist/utils/file/index.mjs +0 -9
  359. package/dist/utils/file/index.mjs.map +0 -1
  360. package/dist/utils/format/masks.mjs +0 -56
  361. package/dist/utils/format/masks.mjs.map +0 -1
  362. package/dist/utils/intl/locales.mjs +0 -12
  363. package/dist/utils/intl/locales.mjs.map +0 -1
  364. package/dist/utils/safeServerAction.mjs +0 -16
  365. package/dist/utils/safeServerAction.mjs.map +0 -1
  366. package/dist/utils/validators/account.mjs +0 -26
  367. package/dist/utils/validators/account.mjs.map +0 -1
  368. package/dist/utils/validators/common.mjs +0 -47
  369. package/dist/utils/validators/common.mjs.map +0 -1
  370. package/dist/utils/withAction.mjs +0 -13
  371. package/dist/utils/withAction.mjs.map +0 -1
@@ -1,49 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { useRouter } from "next/navigation";
4
- import { NavBar } from "./NavBar";
5
- import { ProfilePopover } from "./ProfilePopover";
6
- import { NotificationsPopover } from "./NotificationsPopover";
7
- import { useAccountModals } from "../../store/useAccountModals";
8
- function AppNavBar({
9
- onLogoClick,
10
- activeApp,
11
- appIconHref = "/",
12
- showExpandButton = false,
13
- onExpandClick,
14
- menuItems = [],
15
- onCreditsClick,
16
- onNotificationsViewAll,
17
- logoutRedirect
18
- }) {
19
- const router = useRouter();
20
- const { openConfigurations } = useAccountModals();
21
- const handleLogoClick = onLogoClick ?? (() => router.push("/"));
22
- const handleAppIconClick = () => router.push(appIconHref);
23
- return /* @__PURE__ */ jsxs(
24
- NavBar,
25
- {
26
- onLogoClick: handleLogoClick,
27
- onAppIconClick: handleAppIconClick,
28
- activeApp,
29
- showExpandButton,
30
- onExpandClick,
31
- children: [
32
- /* @__PURE__ */ jsx(NotificationsPopover, { onViewAll: onNotificationsViewAll }),
33
- /* @__PURE__ */ jsx(
34
- ProfilePopover,
35
- {
36
- onEditProfile: () => openConfigurations(),
37
- onCreditsClick,
38
- menuItems,
39
- logoutRedirect
40
- }
41
- )
42
- ]
43
- }
44
- );
45
- }
46
- export {
47
- AppNavBar
48
- };
49
- //# sourceMappingURL=AppNavBar.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/AppNavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRouter } from \"next/navigation\";\nimport { NavBar } from \"./NavBar\";\nimport { ProfilePopover } from \"./ProfilePopover\";\nimport { NotificationsPopover } from \"./NotificationsPopover\";\nimport { useAccountModals } from \"../../store/useAccountModals\";\nimport type { ProfileMenuItem } from \"./ProfilePopover\";\n\nexport interface AppNavBarProps {\n onLogoClick?: () => void;\n /** Which app is currently active — controls which icon gets the indicator */\n activeApp?: \"gapps\" | \"gpages\";\n appIconHref?: string;\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n menuItems?: ProfileMenuItem[];\n onCreditsClick?: () => void;\n onNotificationsViewAll?: () => void;\n logoutRedirect?: string;\n}\n\nexport function AppNavBar({\n onLogoClick,\n activeApp,\n appIconHref = \"/\",\n showExpandButton = false,\n onExpandClick,\n menuItems = [],\n onCreditsClick,\n onNotificationsViewAll,\n logoutRedirect,\n}: AppNavBarProps) {\n const router = useRouter();\n const { openConfigurations } = useAccountModals();\n\n const handleLogoClick = onLogoClick ?? (() => router.push(\"/\"));\n const handleAppIconClick = () => router.push(appIconHref);\n\n return (\n <NavBar\n onLogoClick={handleLogoClick}\n onAppIconClick={handleAppIconClick}\n activeApp={activeApp}\n showExpandButton={showExpandButton}\n onExpandClick={onExpandClick}\n >\n <NotificationsPopover onViewAll={onNotificationsViewAll} />\n <ProfilePopover\n onEditProfile={() => openConfigurations()}\n onCreditsClick={onCreditsClick}\n menuItems={menuItems}\n logoutRedirect={logoutRedirect}\n />\n </NavBar>\n );\n}\n"],"mappings":";AAwCI,SAOE,KAPF;AAtCJ,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AAgB1B,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB;AAAA,EACA,YAAY,CAAC;AAAA,EACb;AAAA,EACA;AAAA,EACA;AACF,GAAmB;AACjB,QAAM,SAAS,UAAU;AACzB,QAAM,EAAE,mBAAmB,IAAI,iBAAiB;AAEhD,QAAM,kBAAkB,gBAAgB,MAAM,OAAO,KAAK,GAAG;AAC7D,QAAM,qBAAqB,MAAM,OAAO,KAAK,WAAW;AAExD,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAa;AAAA,MACb,gBAAgB;AAAA,MAChB;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,wBAAqB,WAAW,wBAAwB;AAAA,QACzD;AAAA,UAAC;AAAA;AAAA,YACC,eAAe,MAAM,mBAAmB;AAAA,YACxC;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACF;AAAA;AAAA;AAAA,EACF;AAEJ;","names":[]}
@@ -1,60 +0,0 @@
1
- "use client";
2
- import { jsx } from "react/jsx-runtime";
3
- import { cn } from "../../infra/utils/clsx";
4
- function MainLayout({ className, children, ...props }) {
5
- return /* @__PURE__ */ jsx(
6
- "div",
7
- {
8
- "data-slot": "main-layout",
9
- className: cn(
10
- "h-dvh md:h-screen lg:h-screen flex flex-col md:flex-row lg:flex-row overflow-visible",
11
- className
12
- ),
13
- ...props,
14
- children
15
- }
16
- );
17
- }
18
- function MainLayoutContent({ className, children, ...props }) {
19
- return /* @__PURE__ */ jsx(
20
- "div",
21
- {
22
- "data-slot": "main-layout-content",
23
- className: cn("flex flex-col flex-1 min-h-0 md:overflow-hidden lg:overflow-hidden", className),
24
- ...props,
25
- children
26
- }
27
- );
28
- }
29
- function MainLayoutSpacer({ className, height, ...props }) {
30
- return /* @__PURE__ */ jsx(
31
- "div",
32
- {
33
- "data-slot": "main-layout-spacer",
34
- className: cn("md:hidden lg:hidden shrink-0", className),
35
- style: { height },
36
- ...props
37
- }
38
- );
39
- }
40
- function MainLayoutMain({ className, children, ...props }) {
41
- return /* @__PURE__ */ jsx(
42
- "main",
43
- {
44
- "data-slot": "main-layout-main",
45
- className: cn(
46
- "flex-1 min-h-0 overflow-y-auto overscroll-none md:overscroll-auto lg:overscroll-auto bg-(--color-base-light)",
47
- className
48
- ),
49
- ...props,
50
- children
51
- }
52
- );
53
- }
54
- export {
55
- MainLayout,
56
- MainLayoutContent,
57
- MainLayoutMain,
58
- MainLayoutSpacer
59
- };
60
- //# sourceMappingURL=MainLayout.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/MainLayout.tsx"],"sourcesContent":["'use client';\n\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { cn } from \"../../infra/utils/clsx\"\r\n\r\nfunction MainLayout({ className, children, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"main-layout\"\r\n className={cn(\r\n \"h-dvh md:h-screen lg:h-screen flex flex-col md:flex-row lg:flex-row overflow-visible\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n )\r\n}\r\n\r\nfunction MainLayoutContent({ className, children, ...props }: React.ComponentProps<\"div\">) {\r\n return (\r\n <div\r\n data-slot=\"main-layout-content\"\r\n className={cn(\"flex flex-col flex-1 min-h-0 md:overflow-hidden lg:overflow-hidden\", className)}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n )\r\n}\r\n\r\nfunction MainLayoutSpacer({ className, height, ...props }: React.ComponentProps<\"div\"> & { height: string }) {\r\n return (\r\n <div\r\n data-slot=\"main-layout-spacer\"\r\n className={cn(\"md:hidden lg:hidden shrink-0\", className)}\r\n style={{ height }}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\nfunction MainLayoutMain({ className, children, ...props }: React.ComponentProps<\"main\">) {\r\n return (\r\n <main\r\n data-slot=\"main-layout-main\"\r\n className={cn(\r\n \"flex-1 min-h-0 overflow-y-auto overscroll-none md:overscroll-auto lg:overscroll-auto bg-(--color-base-light)\",\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </main>\r\n )\r\n}\r\n\r\nexport { MainLayout, MainLayoutContent, MainLayoutSpacer, MainLayoutMain }\r\n"],"mappings":";AASQ;AAJR,SAAS,UAAU;AAEnB,SAAS,WAAW,EAAE,WAAW,UAAU,GAAG,MAAM,GAAgC;AAChF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,aAAU;AAAA,MACV,WAAW;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACL;AAER;AAEA,SAAS,kBAAkB,EAAE,WAAW,UAAU,GAAG,MAAM,GAAgC;AACvF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,aAAU;AAAA,MACV,WAAW,GAAG,sEAAsE,SAAS;AAAA,MAC5F,GAAG;AAAA,MAEH;AAAA;AAAA,EACL;AAER;AAEA,SAAS,iBAAiB,EAAE,WAAW,QAAQ,GAAG,MAAM,GAAqD;AACzG,SACI;AAAA,IAAC;AAAA;AAAA,MACG,aAAU;AAAA,MACV,WAAW,GAAG,gCAAgC,SAAS;AAAA,MACvD,OAAO,EAAE,OAAO;AAAA,MACf,GAAG;AAAA;AAAA,EACR;AAER;AAEA,SAAS,eAAe,EAAE,WAAW,UAAU,GAAG,MAAM,GAAiC;AACrF,SACI;AAAA,IAAC;AAAA;AAAA,MACG,aAAU;AAAA,MACV,WAAW;AAAA,QACP;AAAA,QACA;AAAA,MACJ;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,EACL;AAER;","names":[]}
@@ -1,54 +0,0 @@
1
- "use client";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { ChevronLeft } from "lucide-react";
4
- import { useMdSidebarStore } from "../../store/useMdSidebarStore";
5
- import { cn } from "../../infra/utils/clsx";
6
- import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
7
- function MdSideBarNavigation({
8
- className,
9
- children,
10
- ...props
11
- }) {
12
- const { isExpanded, collapse } = useMdSidebarStore();
13
- return /* @__PURE__ */ jsxs(Fragment, { children: [
14
- /* @__PURE__ */ jsx(
15
- "div",
16
- {
17
- className: `hidden md:block lg:hidden fixed inset-0 bg-black/50 z-20 transition-opacity duration-300 ${isExpanded ? "opacity-100" : "opacity-0 pointer-events-none"}`,
18
- onClick: collapse
19
- }
20
- ),
21
- /* @__PURE__ */ jsx(
22
- "div",
23
- {
24
- className: `hidden md:flex lg:hidden fixed top-0 bottom-0 left-[73px] z-30 transition-transform duration-300 ease-in-out overflow-visible ${isExpanded ? "translate-x-0" : "-translate-x-full"}`,
25
- children: /* @__PURE__ */ jsxs(
26
- "div",
27
- {
28
- "data-slot": "md-sidebar-navigation",
29
- className: cn("relative w-[273px] h-full flex flex-col p-4 bg-white border-r border-gray-200", className),
30
- ...props,
31
- children: [
32
- isExpanded && /* @__PURE__ */ jsxs(Tooltip, { children: [
33
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
34
- "button",
35
- {
36
- onClick: collapse,
37
- className: "absolute top-[68px] -right-4 size-8 flex items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-40",
38
- children: /* @__PURE__ */ jsx(ChevronLeft, { size: 16, className: "text-gray-500" })
39
- }
40
- ) }),
41
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: "Recolher menu" })
42
- ] }),
43
- children
44
- ]
45
- }
46
- )
47
- }
48
- )
49
- ] });
50
- }
51
- export {
52
- MdSideBarNavigation
53
- };
54
- //# sourceMappingURL=MdSideBarNavigation.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/MdSideBarNavigation.tsx"],"sourcesContent":["'use client';\n\n\"use client\"\r\n\r\nimport * as React from \"react\"\r\nimport { ChevronLeft } from \"lucide-react\"\r\nimport { useMdSidebarStore } from \"../../store/useMdSidebarStore\"\r\nimport { cn } from \"../../infra/utils/clsx\"\r\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\"\r\n\r\nfunction MdSideBarNavigation({\r\n className,\r\n children,\r\n ...props\r\n}: React.ComponentProps<\"div\">) {\r\n const { isExpanded, collapse } = useMdSidebarStore()\r\n\r\n return (\r\n <>\r\n <div\r\n className={`hidden md:block lg:hidden fixed inset-0 bg-black/50 z-20 transition-opacity duration-300 ${\r\n isExpanded ? \"opacity-100\" : \"opacity-0 pointer-events-none\"\r\n }`}\r\n onClick={collapse}\r\n />\r\n <div\r\n className={`hidden md:flex lg:hidden fixed top-0 bottom-0 left-[73px] z-30 transition-transform duration-300 ease-in-out overflow-visible ${\r\n isExpanded ? \"translate-x-0\" : \"-translate-x-full\"\r\n }`}\r\n >\r\n <div\r\n data-slot=\"md-sidebar-navigation\"\r\n className={cn(\"relative w-[273px] h-full flex flex-col p-4 bg-white border-r border-gray-200\", className)}\r\n {...props}\r\n >\r\n {isExpanded && (\r\n <Tooltip>\r\n <TooltipTrigger asChild>\r\n <button\r\n onClick={collapse}\r\n className=\"absolute top-[68px] -right-4 size-8 flex items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-40\"\r\n >\r\n <ChevronLeft size={16} className=\"text-gray-500\" />\r\n </button>\r\n </TooltipTrigger>\r\n <TooltipContent side=\"right\">Recolher menu</TooltipContent>\r\n </Tooltip>\r\n )}\r\n {children}\r\n </div>\r\n </div>\r\n </>\r\n )\r\n}\r\n\r\nexport { MdSideBarNavigation };\r\n"],"mappings":";AAkBQ,mBACI,KAiBY,YAlBhB;AAbR,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,UAAU;AACnB,SAAS,SAAS,gBAAgB,sBAAsB;AAExD,SAAS,oBAAoB;AAAA,EACzB;AAAA,EACA;AAAA,EACA,GAAG;AACP,GAAgC;AAC5B,QAAM,EAAE,YAAY,SAAS,IAAI,kBAAkB;AAEnD,SACI,iCACI;AAAA;AAAA,MAAC;AAAA;AAAA,QACG,WAAW,4FACP,aAAa,gBAAgB,+BACjC;AAAA,QACA,SAAS;AAAA;AAAA,IACb;AAAA,IACA;AAAA,MAAC;AAAA;AAAA,QACG,WAAW,iIACP,aAAa,kBAAkB,mBACnC;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACG,aAAU;AAAA,YACV,WAAW,GAAG,iFAAiF,SAAS;AAAA,YACvG,GAAG;AAAA,YAEH;AAAA,4BACG,qBAAC,WACG;AAAA,oCAAC,kBAAe,SAAO,MACnB;AAAA,kBAAC;AAAA;AAAA,oBACG,SAAS;AAAA,oBACT,WAAU;AAAA,oBAEV,8BAAC,eAAY,MAAM,IAAI,WAAU,iBAAgB;AAAA;AAAA,gBACrD,GACJ;AAAA,gBACA,oBAAC,kBAAe,MAAK,SAAQ,2BAAa;AAAA,iBAC9C;AAAA,cAEH;AAAA;AAAA;AAAA,QACL;AAAA;AAAA,IACJ;AAAA,KACJ;AAER;","names":[]}
@@ -1,132 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import Image from "next/image";
4
- import { ChevronRight } from "lucide-react";
5
- import { Separator } from "../ui/data-display/Separator";
6
- import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
7
- import { cn } from "../../infra/utils/clsx";
8
- function NavBar({
9
- onLogoClick,
10
- onAppIconClick,
11
- activeApp,
12
- showExpandButton = false,
13
- onExpandClick,
14
- children,
15
- className
16
- }) {
17
- return /* @__PURE__ */ jsxs(
18
- "div",
19
- {
20
- className: cn(
21
- "hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white",
22
- className
23
- ),
24
- children: [
25
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 items-center mt-[6.5px]", children: [
26
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
27
- /* @__PURE__ */ jsxs(Tooltip, { children: [
28
- /* @__PURE__ */ jsx(
29
- TooltipTrigger,
30
- {
31
- className: "cursor-pointer",
32
- asChild: true,
33
- onClick: onLogoClick,
34
- children: /* @__PURE__ */ jsx(
35
- Image,
36
- {
37
- src: "/icons/great-icon.svg",
38
- alt: "Great Icon",
39
- width: 28,
40
- height: 28
41
- }
42
- )
43
- }
44
- ),
45
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: "GreatApps" })
46
- ] }),
47
- /* @__PURE__ */ jsx(
48
- "div",
49
- {
50
- className: cn(
51
- "absolute -left-[22px] top-1/2 -translate-y-1/2 w-[3px] h-5 bg-gray-950 rounded-r-xl transition-opacity duration-300",
52
- activeApp === "gapps" ? "opacity-100" : "opacity-0"
53
- )
54
- }
55
- )
56
- ] }),
57
- /* @__PURE__ */ jsxs("div", { className: "relative w-full mt-[7.5px]", children: [
58
- /* @__PURE__ */ jsx(Separator, {}),
59
- showExpandButton && /* @__PURE__ */ jsxs(Tooltip, { children: [
60
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
61
- "button",
62
- {
63
- onClick: onExpandClick,
64
- className: "lg:hidden absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 flex items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10",
65
- children: /* @__PURE__ */ jsx(ChevronRight, { size: 16, className: "text-gray-500" })
66
- }
67
- ) }),
68
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: "Expandir menu" })
69
- ] })
70
- ] }),
71
- /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-2", children: /* @__PURE__ */ jsxs("div", { className: "relative", children: [
72
- /* @__PURE__ */ jsxs(Tooltip, { children: [
73
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, onClick: onAppIconClick, children: activeApp === "gpages" ? /* @__PURE__ */ jsx(
74
- "div",
75
- {
76
- className: "size-10 rounded-xl cursor-pointer p-[2px]",
77
- style: {
78
- border: "1.5px solid rgba(153,234,255,0.75)",
79
- background: "white",
80
- boxShadow: "0 0 8px rgba(153,234,255,0.5), 0 0 18px rgba(153,234,255,0.2)"
81
- },
82
- children: /* @__PURE__ */ jsx(
83
- "div",
84
- {
85
- className: "w-full h-full rounded-lg flex items-center justify-center",
86
- style: {
87
- background: "radial-gradient(circle at center, rgba(255,255,255,0.95) 0%, rgba(153,234,255,0.45) 100%)"
88
- },
89
- children: /* @__PURE__ */ jsx(
90
- Image,
91
- {
92
- src: "/icons/icon-navbar.svg",
93
- alt: "GreatPages",
94
- width: 24,
95
- height: 24
96
- }
97
- )
98
- }
99
- )
100
- }
101
- ) : /* @__PURE__ */ jsx("div", { className: "size-10 flex items-center justify-center rounded-lg cursor-pointer hover:bg-gray-100 transition-colors duration-300", children: /* @__PURE__ */ jsx(
102
- Image,
103
- {
104
- src: "/icons/icon-navbar.svg",
105
- alt: "GreatPages",
106
- width: 28,
107
- height: 28
108
- }
109
- ) }) }),
110
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: "GreatPages" })
111
- ] }),
112
- /* @__PURE__ */ jsx(
113
- "div",
114
- {
115
- className: cn(
116
- "absolute -left-[22px] top-1/2 -translate-y-1/2 w-[3px] h-5 rounded-r-xl transition-opacity duration-300",
117
- activeApp === "gpages" ? "opacity-100" : "opacity-0"
118
- ),
119
- style: { backgroundColor: "#6ADCFF" }
120
- }
121
- )
122
- ] }) })
123
- ] }),
124
- /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center gap-2", children })
125
- ]
126
- }
127
- );
128
- }
129
- export {
130
- NavBar
131
- };
132
- //# sourceMappingURL=NavBar.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/NavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport Image from \"next/image\";\nimport { ChevronRight } from \"lucide-react\";\nimport { Separator } from \"../ui/data-display/Separator\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\";\nimport { cn } from \"../../infra/utils/clsx\";\n\ntype NavBarProps = {\n onLogoClick: () => void;\n onAppIconClick?: () => void;\n activeApp?: \"gapps\" | \"gpages\";\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n children?: React.ReactNode;\n className?: string;\n};\n\nfunction NavBar({\n onLogoClick,\n onAppIconClick,\n activeApp,\n showExpandButton = false,\n onExpandClick,\n children,\n className,\n}: NavBarProps) {\n return (\n <div\n className={cn(\n \"hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white\",\n className,\n )}\n >\n <div className=\"flex flex-col gap-4 items-center mt-[6.5px]\">\n {/* GreatApps logo */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger\n className=\"cursor-pointer\"\n asChild\n onClick={onLogoClick}\n >\n <Image\n src=\"/icons/great-icon.svg\"\n alt=\"Great Icon\"\n width={28}\n height={28}\n />\n </TooltipTrigger>\n <TooltipContent side=\"right\">GreatApps</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-[22px] top-1/2 -translate-y-1/2 w-[3px] h-5 bg-gray-950 rounded-r-xl transition-opacity duration-300\",\n activeApp === \"gapps\" ? \"opacity-100\" : \"opacity-0\",\n )}\n />\n </div>\n\n <div className=\"relative w-full mt-[7.5px]\">\n <Separator />\n {showExpandButton && (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={onExpandClick}\n className=\"lg:hidden absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 flex items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10\"\n >\n <ChevronRight size={16} className=\"text-gray-500\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">Expandir menu</TooltipContent>\n </Tooltip>\n )}\n </div>\n\n {/* GreatPages icon */}\n <div className=\"flex flex-col gap-2\">\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild onClick={onAppIconClick}>\n {activeApp === \"gpages\" ? (\n <div\n className=\"size-10 rounded-xl cursor-pointer p-[2px]\"\n style={{\n border: \"1.5px solid rgba(153,234,255,0.75)\",\n background: \"white\",\n boxShadow:\n \"0 0 8px rgba(153,234,255,0.5), 0 0 18px rgba(153,234,255,0.2)\",\n }}\n >\n <div\n className=\"w-full h-full rounded-lg flex items-center justify-center\"\n style={{\n background:\n \"radial-gradient(circle at center, rgba(255,255,255,0.95) 0%, rgba(153,234,255,0.45) 100%)\",\n }}\n >\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={24}\n height={24}\n />\n </div>\n </div>\n ) : (\n <div className=\"size-10 flex items-center justify-center rounded-lg cursor-pointer hover:bg-gray-100 transition-colors duration-300\">\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={28}\n height={28}\n />\n </div>\n )}\n </TooltipTrigger>\n <TooltipContent side=\"right\">GreatPages</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-[22px] top-1/2 -translate-y-1/2 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n activeApp === \"gpages\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={{ backgroundColor: \"#6ADCFF\" }}\n />\n </div>\n </div>\n </div>\n\n <div className=\"flex flex-col items-center gap-2\">{children}</div>\n </div>\n );\n}\n\nexport { NavBar };\nexport type { NavBarProps };\n"],"mappings":";AAsCU,SAMI,KANJ;AAnCV,OAAO,WAAW;AAClB,SAAS,oBAAoB;AAC7B,SAAS,iBAAiB;AAC1B,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,SAAS,UAAU;AAYnB,SAAS,OAAO;AAAA,EACd;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA,EACA;AACF,GAAgB;AACd,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MAEA;AAAA,6BAAC,SAAI,WAAU,+CAEb;AAAA,+BAAC,SAAI,WAAU,YACb;AAAA,iCAAC,WACC;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,SAAO;AAAA,kBACP,SAAS;AAAA,kBAET;AAAA,oBAAC;AAAA;AAAA,sBACC,KAAI;AAAA,sBACJ,KAAI;AAAA,sBACJ,OAAO;AAAA,sBACP,QAAQ;AAAA;AAAA,kBACV;AAAA;AAAA,cACF;AAAA,cACA,oBAAC,kBAAe,MAAK,SAAQ,uBAAS;AAAA,eACxC;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW;AAAA,kBACT;AAAA,kBACA,cAAc,UAAU,gBAAgB;AAAA,gBAC1C;AAAA;AAAA,YACF;AAAA,aACF;AAAA,UAEA,qBAAC,SAAI,WAAU,8BACb;AAAA,gCAAC,aAAU;AAAA,YACV,oBACC,qBAAC,WACC;AAAA,kCAAC,kBAAe,SAAO,MACrB;AAAA,gBAAC;AAAA;AAAA,kBACC,SAAS;AAAA,kBACT,WAAU;AAAA,kBAEV,8BAAC,gBAAa,MAAM,IAAI,WAAU,iBAAgB;AAAA;AAAA,cACpD,GACF;AAAA,cACA,oBAAC,kBAAe,MAAK,SAAQ,2BAAa;AAAA,eAC5C;AAAA,aAEJ;AAAA,UAGA,oBAAC,SAAI,WAAU,uBACb,+BAAC,SAAI,WAAU,YACb;AAAA,iCAAC,WACC;AAAA,kCAAC,kBAAe,SAAO,MAAC,SAAS,gBAC9B,wBAAc,WACb;AAAA,gBAAC;AAAA;AAAA,kBACC,WAAU;AAAA,kBACV,OAAO;AAAA,oBACL,QAAQ;AAAA,oBACR,YAAY;AAAA,oBACZ,WACE;AAAA,kBACJ;AAAA,kBAEA;AAAA,oBAAC;AAAA;AAAA,sBACC,WAAU;AAAA,sBACV,OAAO;AAAA,wBACL,YACE;AAAA,sBACJ;AAAA,sBAEA;AAAA,wBAAC;AAAA;AAAA,0BACC,KAAI;AAAA,0BACJ,KAAI;AAAA,0BACJ,OAAO;AAAA,0BACP,QAAQ;AAAA;AAAA,sBACV;AAAA;AAAA,kBACF;AAAA;AAAA,cACF,IAEA,oBAAC,SAAI,WAAU,uHACb;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAI;AAAA,kBACJ,KAAI;AAAA,kBACJ,OAAO;AAAA,kBACP,QAAQ;AAAA;AAAA,cACV,GACF,GAEJ;AAAA,cACA,oBAAC,kBAAe,MAAK,SAAQ,wBAAU;AAAA,eACzC;AAAA,YACA;AAAA,cAAC;AAAA;AAAA,gBACC,WAAW;AAAA,kBACT;AAAA,kBACA,cAAc,WAAW,gBAAgB;AAAA,gBAC3C;AAAA,gBACA,OAAO,EAAE,iBAAiB,UAAU;AAAA;AAAA,YACtC;AAAA,aACF,GACF;AAAA,WACF;AAAA,QAEA,oBAAC,SAAI,WAAU,oCAAoC,UAAS;AAAA;AAAA;AAAA,EAC9D;AAEJ;","names":[]}
@@ -1,23 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { cn } from "../../infra/utils/clsx";
4
- function NavBarItem({ icon, label, onClick, className, labelClassName }) {
5
- return /* @__PURE__ */ jsxs(
6
- "div",
7
- {
8
- className: cn(
9
- "rounded-lg flex items-center gap-2 px-2 py-2 h-10 cursor-pointer transition-colors bg-white hover:bg-gray-100 active:bg-gray-50",
10
- className
11
- ),
12
- onClick,
13
- children: [
14
- icon,
15
- /* @__PURE__ */ jsx("span", { className: cn("text-sm font-medium text-gray-950", labelClassName), children: label })
16
- ]
17
- }
18
- );
19
- }
20
- export {
21
- NavBarItem
22
- };
23
- //# sourceMappingURL=NavBarItem.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/NavBarItem.tsx"],"sourcesContent":["'use client';\n\n\"use client\"\r\n\r\nimport { cn } from '../../infra/utils/clsx';\r\n\r\ntype NavBarItemProps = {\r\n icon?: React.ReactNode;\r\n label: string;\r\n onClick: () => void;\r\n className?: string;\r\n labelClassName?: string;\r\n}\r\n\r\nfunction NavBarItem({ icon, label, onClick, className, labelClassName }: NavBarItemProps) {\r\n return (\r\n <div\r\n className={cn(\r\n 'rounded-lg flex items-center gap-2 px-2 py-2 h-10 cursor-pointer transition-colors bg-white hover:bg-gray-100 active:bg-gray-50',\r\n className\r\n )}\r\n onClick={onClick}\r\n >\r\n {icon}\r\n <span className={cn('text-sm font-medium text-gray-950', labelClassName)}>{label}</span>\r\n </div>\r\n );\r\n}\r\n\r\nexport { NavBarItem };\r\nexport type { NavBarItemProps };\r\n"],"mappings":";AAgBI,SAQE,KARF;AAZJ,SAAS,UAAU;AAUnB,SAAS,WAAW,EAAE,MAAM,OAAO,SAAS,WAAW,eAAe,GAAoB;AACxF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,QACD,oBAAC,UAAK,WAAW,GAAG,qCAAqC,cAAc,GAAI,iBAAM;AAAA;AAAA;AAAA,EACnF;AAEJ;","names":[]}
@@ -1,97 +0,0 @@
1
- "use client";
2
- import { jsx, jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import { Bell } from "lucide-react";
5
- import * as PopoverPrimitive from "@radix-ui/react-popover";
6
- import { Popover } from "../ui/overlay/Popover";
7
- import { Button } from "../ui/buttons/Button";
8
- import NotificationCard from "../widgets/notifications/NotificationCard";
9
- import { cn } from "../../infra/utils/clsx";
10
- import { useMessages, useMarkAllMessagesAsRead } from "../../modules/users/hooks/messages.hook";
11
- import { formatDistanceToNow } from "date-fns";
12
- import { ptBR } from "date-fns/locale";
13
- function NotificationsPopover({
14
- onViewAll,
15
- side,
16
- align,
17
- contentClassName,
18
- badgeClassName = "bg-pages-400"
19
- }) {
20
- const [open, setOpen] = useState(false);
21
- const { data: messagesData } = useMessages({ type: "notification", readed: true, limit: 5 });
22
- const { mutate: markAllAsRead } = useMarkAllMessagesAsRead();
23
- const messages = messagesData?.data ?? [];
24
- const totalUnread = messagesData?.totalUnread ?? 0;
25
- const handleOpenChange = (isOpen) => {
26
- setOpen(isOpen);
27
- if (isOpen && totalUnread > 0) {
28
- markAllAsRead();
29
- }
30
- };
31
- return /* @__PURE__ */ jsxs(Popover, { open, onOpenChange: handleOpenChange, children: [
32
- /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { className: "cursor-pointer", children: /* @__PURE__ */ jsxs(
33
- "div",
34
- {
35
- className: `relative rounded-full p-2.5 ${open ? "bg-gray-100" : "hover:bg-gray-100"}`,
36
- children: [
37
- /* @__PURE__ */ jsx(Bell, { size: 20, className: "text-gray-500" }),
38
- totalUnread > 0 && /* @__PURE__ */ jsx(
39
- "span",
40
- {
41
- className: cn(
42
- "absolute top-2 right-2 size-2.5 rounded-full",
43
- badgeClassName
44
- )
45
- }
46
- )
47
- ]
48
- }
49
- ) }),
50
- /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
51
- PopoverPrimitive.Content,
52
- {
53
- className: cn(
54
- "absolute bottom-2 left-[26px] z-[9999] w-[308px] p-0 pt-4 bg-white rounded-2xl shadow-md border border-gray-200",
55
- contentClassName
56
- ),
57
- side,
58
- align,
59
- sideOffset: 8,
60
- children: [
61
- /* @__PURE__ */ jsx("span", { className: "paragraph-small-semibold text-gray-950 px-4", children: "\xDAltimas notifica\xE7\xF5es" }),
62
- messages.length > 0 ? messages.map((message, index) => /* @__PURE__ */ jsx(
63
- NotificationCard,
64
- {
65
- icon: /* @__PURE__ */ jsx(Bell, { size: 16 }),
66
- iconBgColor: "bg-gray-100",
67
- title: message.subject,
68
- time: formatDistanceToNow(new Date(message.datetime_add), {
69
- addSuffix: true,
70
- locale: ptBR
71
- }),
72
- gapPx: 6,
73
- showBorder: index < messages.length - 1
74
- },
75
- message.id
76
- )) : /* @__PURE__ */ jsxs("div", { className: "flex flex-col items-center gap-4 pt-[41.5px] pb-[33.5px]", children: [
77
- /* @__PURE__ */ jsx("div", { className: "bg-gray-50 rounded-md p-2.5", children: /* @__PURE__ */ jsx(Bell, { size: 20, color: "var(--color-gray-950)" }) }),
78
- /* @__PURE__ */ jsx("span", { className: "paragraph-small-medium text-gray-950", children: "Sem notifica\xE7\xF5es por enquanto" })
79
- ] }),
80
- onViewAll && /* @__PURE__ */ jsx(
81
- Button,
82
- {
83
- variant: "secondary",
84
- className: "h-8! mt-2 mb-4 mx-4 paragraph-small-semibold",
85
- onClick: onViewAll,
86
- children: "Todas as notifica\xE7\xF5es"
87
- }
88
- )
89
- ]
90
- }
91
- ) })
92
- ] });
93
- }
94
- export {
95
- NotificationsPopover
96
- };
97
- //# sourceMappingURL=NotificationsPopover.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/components/layouts/NotificationsPopover.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { useState } from \"react\";\r\nimport { Bell } from \"lucide-react\";\r\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\r\nimport { Popover } from \"../ui/overlay/Popover\";\r\nimport { Button } from \"../ui/buttons/Button\";\r\nimport NotificationCard from \"../widgets/notifications/NotificationCard\";\r\nimport { cn } from \"../../infra/utils/clsx\";\r\nimport { useMessages, useMarkAllMessagesAsRead } from \"../../modules/users/hooks/messages.hook\";\r\nimport { formatDistanceToNow } from \"date-fns\";\r\nimport { ptBR } from \"date-fns/locale\";\r\n\r\nexport interface NotificationsPopoverProps {\r\n onViewAll?: () => void;\r\n side?: \"top\" | \"bottom\" | \"left\" | \"right\";\r\n align?: \"start\" | \"center\" | \"end\";\r\n contentClassName?: string;\r\n badgeClassName?: string;\r\n}\r\n\r\nfunction NotificationsPopover({\r\n onViewAll,\r\n side,\r\n align,\r\n contentClassName,\r\n badgeClassName = \"bg-pages-400\",\r\n}: NotificationsPopoverProps) {\r\n const [open, setOpen] = useState(false);\r\n const { data: messagesData } = useMessages({ type: 'notification', readed: true, limit: 5 });\r\n const { mutate: markAllAsRead } = useMarkAllMessagesAsRead();\r\n\r\n const messages = messagesData?.data ?? [];\r\n const totalUnread = messagesData?.totalUnread ?? 0;\r\n\r\n const handleOpenChange = (isOpen: boolean) => {\r\n setOpen(isOpen);\r\n if (isOpen && totalUnread > 0) {\r\n markAllAsRead();\r\n }\r\n };\r\n\r\n return (\r\n <Popover open={open} onOpenChange={handleOpenChange}>\r\n <PopoverPrimitive.Trigger className=\"cursor-pointer\">\r\n <div\r\n className={`relative rounded-full p-2.5 ${open ? \"bg-gray-100\" : \"hover:bg-gray-100\"}`}\r\n >\r\n <Bell size={20} className=\"text-gray-500\" />\r\n {totalUnread > 0 && (\r\n <span\r\n className={cn(\r\n \"absolute top-2 right-2 size-2.5 rounded-full\",\r\n badgeClassName,\r\n )}\r\n />\r\n )}\r\n </div>\r\n </PopoverPrimitive.Trigger>\r\n <PopoverPrimitive.Portal>\r\n <PopoverPrimitive.Content\r\n className={cn(\r\n \"absolute bottom-2 left-[26px] z-[9999] w-[308px] p-0 pt-4 bg-white rounded-2xl shadow-md border border-gray-200\",\r\n contentClassName,\r\n )}\r\n side={side}\r\n align={align}\r\n sideOffset={8}\r\n >\r\n <span className=\"paragraph-small-semibold text-gray-950 px-4\">\r\n Últimas notificações\r\n </span>\r\n\r\n {messages.length > 0 ? (\r\n messages.map((message, index) => (\r\n <NotificationCard\r\n key={message.id}\r\n icon={<Bell size={16} />}\r\n iconBgColor=\"bg-gray-100\"\r\n title={message.subject}\r\n time={formatDistanceToNow(new Date(message.datetime_add), {\r\n addSuffix: true,\r\n locale: ptBR,\r\n })}\r\n gapPx={6}\r\n showBorder={index < messages.length - 1}\r\n />\r\n ))\r\n ) : (\r\n <div className=\"flex flex-col items-center gap-4 pt-[41.5px] pb-[33.5px]\">\r\n <div className=\"bg-gray-50 rounded-md p-2.5\">\r\n <Bell size={20} color=\"var(--color-gray-950)\" />\r\n </div>\r\n <span className=\"paragraph-small-medium text-gray-950\">\r\n Sem notificações por enquanto\r\n </span>\r\n </div>\r\n )}\r\n\r\n {onViewAll && (\r\n <Button\r\n variant=\"secondary\"\r\n className=\"h-8! mt-2 mb-4 mx-4 paragraph-small-semibold\"\r\n onClick={onViewAll}\r\n >\r\n Todas as notificações\r\n </Button>\r\n )}\r\n </PopoverPrimitive.Content>\r\n </PopoverPrimitive.Portal>\r\n </Popover>\r\n );\r\n}\r\n\r\nexport { NotificationsPopover };\r\n"],"mappings":";AA6CQ,SAGE,KAHF;AA3CR,SAAS,gBAAgB;AACzB,SAAS,YAAY;AACrB,YAAY,sBAAsB;AAClC,SAAS,eAAe;AACxB,SAAS,cAAc;AACvB,OAAO,sBAAsB;AAC7B,SAAS,UAAU;AACnB,SAAS,aAAa,gCAAgC;AACtD,SAAS,2BAA2B;AACpC,SAAS,YAAY;AAUrB,SAAS,qBAAqB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,iBAAiB;AACnB,GAA8B;AAC5B,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,EAAE,MAAM,aAAa,IAAI,YAAY,EAAE,MAAM,gBAAgB,QAAQ,MAAM,OAAO,EAAE,CAAC;AAC3F,QAAM,EAAE,QAAQ,cAAc,IAAI,yBAAyB;AAE3D,QAAM,WAAW,cAAc,QAAQ,CAAC;AACxC,QAAM,cAAc,cAAc,eAAe;AAEjD,QAAM,mBAAmB,CAAC,WAAoB;AAC5C,YAAQ,MAAM;AACd,QAAI,UAAU,cAAc,GAAG;AAC7B,oBAAc;AAAA,IAChB;AAAA,EACF;AAEA,SACE,qBAAC,WAAQ,MAAY,cAAc,kBACjC;AAAA,wBAAC,iBAAiB,SAAjB,EAAyB,WAAU,kBAClC;AAAA,MAAC;AAAA;AAAA,QACC,WAAW,+BAA+B,OAAO,gBAAgB,mBAAmB;AAAA,QAEpF;AAAA,8BAAC,QAAK,MAAM,IAAI,WAAU,iBAAgB;AAAA,UACzC,cAAc,KACb;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA;AAAA,cACF;AAAA;AAAA,UACF;AAAA;AAAA;AAAA,IAEJ,GACF;AAAA,IACA,oBAAC,iBAAiB,QAAjB,EACC;AAAA,MAAC,iBAAiB;AAAA,MAAjB;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,QACA;AAAA,QACA,YAAY;AAAA,QAEZ;AAAA,8BAAC,UAAK,WAAU,+CAA8C,2CAE9D;AAAA,UAEC,SAAS,SAAS,IACjB,SAAS,IAAI,CAAC,SAAS,UACrB;AAAA,YAAC;AAAA;AAAA,cAEC,MAAM,oBAAC,QAAK,MAAM,IAAI;AAAA,cACtB,aAAY;AAAA,cACZ,OAAO,QAAQ;AAAA,cACf,MAAM,oBAAoB,IAAI,KAAK,QAAQ,YAAY,GAAG;AAAA,gBACxD,WAAW;AAAA,gBACX,QAAQ;AAAA,cACV,CAAC;AAAA,cACD,OAAO;AAAA,cACP,YAAY,QAAQ,SAAS,SAAS;AAAA;AAAA,YATjC,QAAQ;AAAA,UAUf,CACD,IAED,qBAAC,SAAI,WAAU,4DACb;AAAA,gCAAC,SAAI,WAAU,+BACb,8BAAC,QAAK,MAAM,IAAI,OAAM,yBAAwB,GAChD;AAAA,YACA,oBAAC,UAAK,WAAU,wCAAuC,iDAEvD;AAAA,aACF;AAAA,UAGD,aACC;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,SAAS;AAAA,cACV;AAAA;AAAA,UAED;AAAA;AAAA;AAAA,IAEJ,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -1,149 +0,0 @@
1
- "use client";
2
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
- import { useState } from "react";
4
- import { useRouter } from "next/navigation";
5
- import * as PopoverPrimitive from "@radix-ui/react-popover";
6
- import { Popover } from "../ui/overlay/Popover";
7
- import { Progress } from "../ui/feedback/Progress";
8
- import { Separator } from "../ui/data-display/Separator";
9
- import { Settings } from "lucide-react";
10
- import { NavBarItem } from "./NavBarItem";
11
- import { UserAvatar } from "../ui/data-display/UserAvatar";
12
- import { LoadingOverlay } from "../ui/feedback/LoadingOverlay";
13
- import { useAuth } from "../../providers/auth.provider";
14
- import { cn } from "../../infra/utils/clsx";
15
- import { useIaCredits } from "../../modules/ia-credits/hooks/ia-credits.hook";
16
- function ProfilePopover({
17
- side = "top",
18
- align = "start",
19
- contentClassName = "absolute bottom-2 left-[26px]",
20
- onEditProfile,
21
- onCreditsClick,
22
- menuItems = [],
23
- logoutRedirect = "/login"
24
- }) {
25
- const router = useRouter();
26
- const { user, logout } = useAuth();
27
- const [isLoggingOut, setIsLoggingOut] = useState(false);
28
- const { summary, subscription, isSubscriptionLoading, isCreditsLoading } = useIaCredits();
29
- const handleLogout = async () => {
30
- try {
31
- setIsLoggingOut(true);
32
- await logout();
33
- } finally {
34
- setIsLoggingOut(false);
35
- if (logoutRedirect !== "/login") {
36
- router.push(logoutRedirect);
37
- }
38
- }
39
- };
40
- const hasSubscription = !isSubscriptionLoading && subscription !== null;
41
- const showCreditsSkeleton = hasSubscription && isCreditsLoading;
42
- const showCredits = hasSubscription && !isCreditsLoading;
43
- const creditsPercentage = showCredits && summary.totalCredits > 0 ? summary.usedCredits / summary.totalCredits * 100 : 0;
44
- return /* @__PURE__ */ jsxs(Fragment, { children: [
45
- /* @__PURE__ */ jsx(LoadingOverlay, { isLoading: isLoggingOut, message: "Saindo da sua conta..." }),
46
- /* @__PURE__ */ jsxs(Popover, { children: [
47
- /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { className: "cursor-pointer", children: user && /* @__PURE__ */ jsx(
48
- UserAvatar,
49
- {
50
- photo: user.photo,
51
- name: user.name,
52
- size: 40
53
- },
54
- user.id
55
- ) }),
56
- /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsxs(
57
- PopoverPrimitive.Content,
58
- {
59
- className: cn(
60
- "w-64.75 p-0 bg-white rounded-2xl shadow-md border border-gray-200 z-99",
61
- contentClassName
62
- ),
63
- side,
64
- align,
65
- sideOffset: 8,
66
- children: [
67
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-[32px_1fr] items-center gap-3 p-3 w-full", children: [
68
- user && /* @__PURE__ */ jsx(
69
- UserAvatar,
70
- {
71
- photo: user.photo,
72
- name: user.name,
73
- size: 32
74
- },
75
- user.id
76
- ),
77
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5 min-w-0", children: [
78
- /* @__PURE__ */ jsx("span", { className: "paragraph-small-semibold text-gray-950 truncate", children: user?.name || "" }),
79
- /* @__PURE__ */ jsx("span", { className: "paragraph-xsmall-medium text-gray-500 truncate", children: user?.email || "" })
80
- ] })
81
- ] }),
82
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 border-t border-gray-200 rounded-2xl p-1.5", children: [
83
- showCreditsSkeleton && /* @__PURE__ */ jsxs("div", { className: "flex flex-col bg-gray-950 rounded-lg gap-4 w-full p-4", children: [
84
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
85
- /* @__PURE__ */ jsx("span", { className: "paragraph-xsmall-semibold text-white truncate", children: "Cr\xE9ditos usados" }),
86
- /* @__PURE__ */ jsx("div", { className: "skeleton h-3.5 w-16 rounded" })
87
- ] }),
88
- /* @__PURE__ */ jsx("div", { className: "skeleton h-1.5 w-full rounded-full" })
89
- ] }),
90
- showCredits && /* @__PURE__ */ jsxs(
91
- "div",
92
- {
93
- className: cn(
94
- "flex flex-col bg-gray-950 rounded-lg gap-4 w-full p-4 transition-colors",
95
- onCreditsClick && "cursor-pointer hover:bg-gray-900"
96
- ),
97
- onClick: onCreditsClick,
98
- children: [
99
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
100
- /* @__PURE__ */ jsx("span", { className: "paragraph-xsmall-semibold text-white truncate", children: "Cr\xE9ditos usados" }),
101
- /* @__PURE__ */ jsxs("span", { className: "paragraph-xsmall-medium text-white/50", children: [
102
- summary.usedCredits.toLocaleString("pt-BR"),
103
- "/",
104
- summary.totalCredits.toLocaleString("pt-BR")
105
- ] })
106
- ] }),
107
- /* @__PURE__ */ jsx(
108
- Progress,
109
- {
110
- className: "bg-white/10",
111
- indicatorColor: "bg-white",
112
- value: creditsPercentage
113
- }
114
- )
115
- ]
116
- }
117
- ),
118
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
119
- menuItems.length > 0 && /* @__PURE__ */ jsx("div", { className: "flex flex-col", children: menuItems.map((item, index) => /* @__PURE__ */ jsx(
120
- NavBarItem,
121
- {
122
- icon: item.icon,
123
- label: item.label,
124
- onClick: item.onClick
125
- },
126
- index
127
- )) }),
128
- onEditProfile && /* @__PURE__ */ jsx(
129
- NavBarItem,
130
- {
131
- icon: /* @__PURE__ */ jsx(Settings, { size: 16 }),
132
- label: "Configura\xE7\xF5es",
133
- onClick: onEditProfile
134
- }
135
- ),
136
- /* @__PURE__ */ jsx(Separator, {}),
137
- /* @__PURE__ */ jsx(NavBarItem, { label: "Sair", onClick: handleLogout })
138
- ] })
139
- ] })
140
- ]
141
- }
142
- ) })
143
- ] })
144
- ] });
145
- }
146
- export {
147
- ProfilePopover
148
- };
149
- //# sourceMappingURL=ProfilePopover.mjs.map