@greatapps/common 1.1.257 → 1.1.259

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 (301) hide show
  1. package/dist/components/account/AccountModals.mjs.map +1 -1
  2. package/dist/components/account/ConfigurationsMyAccountModal.mjs +2 -2
  3. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
  4. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
  5. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
  6. package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
  7. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
  8. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
  9. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
  10. package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
  11. package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
  12. package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
  13. package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
  14. package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
  15. package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
  16. package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
  17. package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
  18. package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
  19. package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
  20. package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -1
  21. package/dist/components/layouts/AppMobileNavBar.mjs +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/UsersSelectorPopover.mjs +1 -1
  29. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
  30. package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
  31. package/dist/components/modals/ModalManager.mjs.map +1 -1
  32. package/dist/components/modals/Modals.mjs.map +1 -1
  33. package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
  34. package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
  35. package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
  36. package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
  37. package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
  38. package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
  39. package/dist/components/ui/buttons/Button.mjs.map +1 -1
  40. package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
  41. package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
  42. package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
  43. package/dist/components/ui/data-display/Badge.mjs.map +1 -1
  44. package/dist/components/ui/data-display/Card.mjs.map +1 -1
  45. package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
  46. package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
  47. package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
  48. package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
  49. package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
  50. package/dist/components/ui/data-display/Separator.mjs.map +1 -1
  51. package/dist/components/ui/data-display/Table.mjs.map +1 -1
  52. package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
  53. package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
  54. package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
  55. package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
  56. package/dist/components/ui/feedback/Progress.mjs.map +1 -1
  57. package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
  58. package/dist/components/ui/feedback/Toast.mjs.map +1 -1
  59. package/dist/components/ui/form/Calendar.mjs.map +1 -1
  60. package/dist/components/ui/form/Checkbox.mjs.map +1 -1
  61. package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
  62. package/dist/components/ui/form/DatePicker.mjs.map +1 -1
  63. package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
  64. package/dist/components/ui/form/FormField.mjs.map +1 -1
  65. package/dist/components/ui/form/Input.mjs.map +1 -1
  66. package/dist/components/ui/form/InputOtp.mjs.map +1 -1
  67. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  68. package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
  69. package/dist/components/ui/form/Select.mjs +1 -1
  70. package/dist/components/ui/form/Select.mjs.map +1 -1
  71. package/dist/components/ui/form/Switch.mjs.map +1 -1
  72. package/dist/components/ui/form/Textarea.mjs.map +1 -1
  73. package/dist/components/ui/overlay/Command.mjs.map +1 -1
  74. package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
  75. package/dist/components/ui/overlay/Popover.mjs.map +1 -1
  76. package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
  77. package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
  78. package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
  79. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
  80. package/dist/hooks/useDebounce.mjs.map +1 -1
  81. package/dist/hooks/useDebounceState.mjs.map +1 -1
  82. package/dist/hooks/useDebouncedEffect.mjs.map +1 -1
  83. package/dist/index.mjs.map +1 -1
  84. package/dist/infra/utils/clsx.mjs.map +1 -1
  85. package/dist/infra/utils/parser.mjs.map +1 -1
  86. package/dist/infra/utils/percentage.mjs.map +1 -1
  87. package/dist/middleware.mjs.map +1 -1
  88. package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
  89. package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
  90. package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
  91. package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
  92. package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
  93. package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
  94. package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
  95. package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
  96. package/dist/modules/accounts/services/account.service.mjs.map +1 -1
  97. package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
  98. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  99. package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
  100. package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
  101. package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
  102. package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
  103. package/dist/modules/cards/services/cards.service.mjs.map +1 -1
  104. package/dist/modules/cards/types.mjs.map +1 -1
  105. package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
  106. package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
  107. package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
  108. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  109. package/dist/modules/plans/services/plans.service.mjs.map +1 -1
  110. package/dist/modules/plans/types/plan.type.mjs.map +1 -1
  111. package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
  112. package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
  113. package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
  114. package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
  115. package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
  116. package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
  117. package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
  118. package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
  119. package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
  120. package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
  121. package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
  122. package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
  123. package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
  124. package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
  125. package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
  126. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  127. package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
  128. package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
  129. package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
  130. package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
  131. package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
  132. package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
  133. package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
  134. package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
  135. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
  136. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
  137. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
  138. package/dist/modules/users/services/messages.service.mjs.map +1 -1
  139. package/dist/modules/whitelabel/actions/find-whitelabel-styles.action.mjs.map +1 -1
  140. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  141. package/dist/modules/whitelabel/actions/revalidate-whitelabel-styles.action.mjs.map +1 -1
  142. package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
  143. package/dist/modules/whitelabel/services/whitelabel-styles.service.mjs.map +1 -1
  144. package/dist/providers/whitelabel.provider.mjs.map +1 -1
  145. package/dist/store/useAccountModals.mjs.map +1 -1
  146. package/dist/store/useBuyCreditsModal.mjs.map +1 -1
  147. package/dist/store/useModalManager.mjs.map +1 -1
  148. package/dist/utils/countries.mjs.map +1 -1
  149. package/dist/utils/safeServerAction.mjs.map +1 -1
  150. package/dist/utils/withAction.mjs.map +1 -1
  151. package/package.json +89 -89
  152. package/src/components/account/AccountModals.tsx +17 -17
  153. package/src/components/account/ConfigurationsMyAccountModal.tsx +150 -150
  154. package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
  155. package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
  156. package/src/components/account/DeleteAccountModal.tsx +130 -130
  157. package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
  158. package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
  159. package/src/components/account/TwoFactorAuthModal.tsx +223 -223
  160. package/src/components/account/hooks/useChangePhoneForm.tsx +81 -81
  161. package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
  162. package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
  163. package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
  164. package/src/components/account/sections/ChangePhoneModal.tsx +231 -231
  165. package/src/components/account/sections/MyProfileSection.tsx +327 -327
  166. package/src/components/account/sections/PreferencesSection.tsx +273 -273
  167. package/src/components/account/sections/SecuritySection.tsx +160 -160
  168. package/src/components/embeds/CrispEmbed.tsx +101 -101
  169. package/src/components/embeds/FrillEmbed.tsx +119 -119
  170. package/src/components/handlers/SearchParamsHandler.tsx +61 -61
  171. package/src/components/layouts/AppMobileNavBar.tsx +118 -118
  172. package/src/components/layouts/AppNavBar.tsx +51 -51
  173. package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
  174. package/src/components/layouts/NavBar.tsx +120 -120
  175. package/src/components/layouts/NotificationsPopover.tsx +115 -115
  176. package/src/components/layouts/ProfilePopover.tsx +164 -164
  177. package/src/components/layouts/UsersSelectorPopover.tsx +238 -238
  178. package/src/components/modals/BuyCreditsModal.tsx +301 -301
  179. package/src/components/modals/ModalManager.tsx +29 -29
  180. package/src/components/modals/Modals.tsx +26 -26
  181. package/src/components/navigation/CancelledSubscriptionBanner.tsx +69 -69
  182. package/src/components/navigation/NavItemsContext.ts +20 -20
  183. package/src/components/navigation/ProjectSelectorPopover.tsx +157 -157
  184. package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
  185. package/src/components/navigation/subcomponents/ProjectSelector.tsx +156 -156
  186. package/src/components/pages/notifications/Notifications.tsx +160 -160
  187. package/src/components/ui/buttons/Button.tsx +57 -57
  188. package/src/components/ui/buttons/CancelButton.tsx +14 -14
  189. package/src/components/ui/buttons/CopyButton.tsx +54 -54
  190. package/src/components/ui/data-display/Accordion.tsx +81 -81
  191. package/src/components/ui/data-display/Badge.tsx +47 -47
  192. package/src/components/ui/data-display/Card.tsx +93 -93
  193. package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
  194. package/src/components/ui/data-display/CardItem.tsx +75 -75
  195. package/src/components/ui/data-display/Pagination.tsx +126 -126
  196. package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
  197. package/src/components/ui/data-display/ScrollArea.tsx +59 -59
  198. package/src/components/ui/data-display/Separator.tsx +29 -29
  199. package/src/components/ui/data-display/Table.tsx +117 -117
  200. package/src/components/ui/data-display/Tabs.tsx +67 -67
  201. package/src/components/ui/feedback/CircularProgress.tsx +75 -75
  202. package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
  203. package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
  204. package/src/components/ui/feedback/Progress.tsx +40 -40
  205. package/src/components/ui/feedback/Skeleton.tsx +5 -5
  206. package/src/components/ui/feedback/Toast.tsx +101 -101
  207. package/src/components/ui/form/Calendar.tsx +228 -228
  208. package/src/components/ui/form/Checkbox.tsx +31 -31
  209. package/src/components/ui/form/ComboboxField.tsx +154 -154
  210. package/src/components/ui/form/DatePicker.tsx +97 -97
  211. package/src/components/ui/form/DateRangePicker.tsx +108 -108
  212. package/src/components/ui/form/FormField.tsx +131 -131
  213. package/src/components/ui/form/Input.tsx +20 -20
  214. package/src/components/ui/form/InputOtp.tsx +80 -80
  215. package/src/components/ui/form/PhoneInput.tsx +205 -205
  216. package/src/components/ui/form/RadioGroup.tsx +45 -45
  217. package/src/components/ui/form/Select.tsx +200 -200
  218. package/src/components/ui/form/Switch.tsx +32 -32
  219. package/src/components/ui/form/Textarea.tsx +19 -19
  220. package/src/components/ui/overlay/Command.tsx +185 -185
  221. package/src/components/ui/overlay/Dialog.tsx +151 -151
  222. package/src/components/ui/overlay/Popover.tsx +49 -49
  223. package/src/components/ui/overlay/Sheet.tsx +166 -166
  224. package/src/components/ui/overlay/Tooltip.tsx +62 -62
  225. package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
  226. package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
  227. package/src/hooks/useDebounce.ts +26 -26
  228. package/src/hooks/useDebounceState.ts +11 -11
  229. package/src/hooks/useDebouncedEffect.ts +69 -69
  230. package/src/index.ts +376 -376
  231. package/src/infra/utils/clsx.ts +6 -6
  232. package/src/infra/utils/parser.ts +52 -52
  233. package/src/infra/utils/percentage.ts +42 -42
  234. package/src/middleware.ts +4 -4
  235. package/src/modules/accounts/actions/account-management.action.ts +91 -91
  236. package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
  237. package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
  238. package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
  239. package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
  240. package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
  241. package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
  242. package/src/modules/accounts/hooks/useTimezones.ts +15 -15
  243. package/src/modules/accounts/services/account.service.ts +236 -236
  244. package/src/modules/accounts/types.ts +214 -214
  245. package/src/modules/auth/actions/validate-session.action.ts +56 -56
  246. package/src/modules/auth/hooks/login.hook.tsx +13 -13
  247. package/src/modules/auth/hooks/logout.hook.tsx +11 -11
  248. package/src/modules/auth/hooks/register.hook.tsx +11 -11
  249. package/src/modules/cards/actions/list-cards.action.ts +8 -8
  250. package/src/modules/cards/hooks/cards.hook.ts +14 -14
  251. package/src/modules/cards/services/cards.service.ts +32 -32
  252. package/src/modules/cards/types.ts +32 -32
  253. package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
  254. package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
  255. package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
  256. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
  257. package/src/modules/plans/services/plans.service.ts +36 -36
  258. package/src/modules/plans/types/plan.type.ts +21 -21
  259. package/src/modules/projects/actions/add-project-user.action.ts +9 -9
  260. package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
  261. package/src/modules/projects/actions/list-available-users.action.ts +9 -9
  262. package/src/modules/projects/actions/list-project-users.action.ts +9 -9
  263. package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
  264. package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
  265. package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
  266. package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
  267. package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
  268. package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
  269. package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
  270. package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
  271. package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +26 -26
  272. package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
  273. package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
  274. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
  275. package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
  276. package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
  277. package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
  278. package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
  279. package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
  280. package/src/modules/subscriptions/utils/periodicity.ts +52 -52
  281. package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
  282. package/src/modules/users/action/find-user-by-id.action.ts +8 -8
  283. package/src/modules/users/action/list-messages.action.ts +12 -12
  284. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
  285. package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
  286. package/src/modules/users/hooks/messages.hook.ts +60 -60
  287. package/src/modules/users/services/messages.service.ts +48 -48
  288. package/src/modules/whitelabel/actions/find-whitelabel-styles.action.ts +14 -14
  289. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
  290. package/src/modules/whitelabel/actions/revalidate-whitelabel-styles.action.ts +10 -10
  291. package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
  292. package/src/modules/whitelabel/schema.ts +83 -83
  293. package/src/modules/whitelabel/services/whitelabel-styles.service.ts +129 -129
  294. package/src/modules/whitelabel/styles-schema.ts +37 -37
  295. package/src/providers/whitelabel.provider.tsx +54 -54
  296. package/src/store/useAccountModals.ts +55 -55
  297. package/src/store/useBuyCreditsModal.ts +25 -25
  298. package/src/store/useModalManager.ts +104 -104
  299. package/src/utils/countries.ts +224 -224
  300. package/src/utils/safeServerAction.ts +21 -21
  301. package/src/utils/withAction.ts +13 -13
@@ -1,51 +1,51 @@
1
- "use client";
2
-
3
- import { useRouter } from "next/navigation";
4
- import { NavBar } from "./NavBar";
5
- import { ProfilePopover } from "./ProfilePopover";
6
- import { NotificationsPopover } from "./NotificationsPopover";
7
- import type { ProfileMenuItem } from "./ProfilePopover";
8
-
9
- export interface AppNavBarProps {
10
- onLogoClick?: () => void;
11
- /** Which app is currently active — controls which icon gets the indicator */
12
- activeApp?: "gapps" | "gpages";
13
- appIconHref?: string;
14
- showExpandButton?: boolean;
15
- onExpandClick?: () => void;
16
- menuItems?: ProfileMenuItem[];
17
- onNotificationsViewAll?: () => void;
18
- logoutRedirect?: string;
19
- }
20
-
21
- export function AppNavBar({
22
- onLogoClick,
23
- activeApp,
24
- appIconHref = "/",
25
- showExpandButton = false,
26
- onExpandClick,
27
- menuItems = [],
28
- onNotificationsViewAll,
29
- logoutRedirect,
30
- }: AppNavBarProps) {
31
- const router = useRouter();
32
-
33
- const handleLogoClick = onLogoClick ?? (() => router.push("/"));
34
- const handleAppIconClick = () => router.push(appIconHref);
35
-
36
- return (
37
- <NavBar
38
- onLogoClick={handleLogoClick}
39
- onAppIconClick={handleAppIconClick}
40
- activeApp={activeApp}
41
- showExpandButton={showExpandButton}
42
- onExpandClick={onExpandClick}
43
- >
44
- <NotificationsPopover onViewAll={onNotificationsViewAll} />
45
- <ProfilePopover
46
- menuItems={menuItems}
47
- logoutRedirect={logoutRedirect}
48
- />
49
- </NavBar>
50
- );
51
- }
1
+ "use client";
2
+
3
+ import { useRouter } from "next/navigation";
4
+ import { NavBar } from "./NavBar";
5
+ import { ProfilePopover } from "./ProfilePopover";
6
+ import { NotificationsPopover } from "./NotificationsPopover";
7
+ import type { ProfileMenuItem } from "./ProfilePopover";
8
+
9
+ export interface AppNavBarProps {
10
+ onLogoClick?: () => void;
11
+ /** Which app is currently active — controls which icon gets the indicator */
12
+ activeApp?: "gapps" | "gpages";
13
+ appIconHref?: string;
14
+ showExpandButton?: boolean;
15
+ onExpandClick?: () => void;
16
+ menuItems?: ProfileMenuItem[];
17
+ onNotificationsViewAll?: () => void;
18
+ logoutRedirect?: string;
19
+ }
20
+
21
+ export function AppNavBar({
22
+ onLogoClick,
23
+ activeApp,
24
+ appIconHref = "/",
25
+ showExpandButton = false,
26
+ onExpandClick,
27
+ menuItems = [],
28
+ onNotificationsViewAll,
29
+ logoutRedirect,
30
+ }: AppNavBarProps) {
31
+ const router = useRouter();
32
+
33
+ const handleLogoClick = onLogoClick ?? (() => router.push("/"));
34
+ const handleAppIconClick = () => router.push(appIconHref);
35
+
36
+ return (
37
+ <NavBar
38
+ onLogoClick={handleLogoClick}
39
+ onAppIconClick={handleAppIconClick}
40
+ activeApp={activeApp}
41
+ showExpandButton={showExpandButton}
42
+ onExpandClick={onExpandClick}
43
+ >
44
+ <NotificationsPopover onViewAll={onNotificationsViewAll} />
45
+ <ProfilePopover
46
+ menuItems={menuItems}
47
+ logoutRedirect={logoutRedirect}
48
+ />
49
+ </NavBar>
50
+ );
51
+ }
@@ -1,56 +1,56 @@
1
- 'use client';
2
-
3
- "use client"
4
-
5
- import * as React from "react"
6
- import { IconChevronLeft } from '@tabler/icons-react'
7
- import { useMdSidebarStore } from "../../store/useMdSidebarStore"
8
- import { cn } from "../../infra/utils/clsx"
9
- import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip"
10
-
11
- function MdSideBarNavigation({
12
- className,
13
- children,
14
- ...props
15
- }: React.ComponentProps<"div">) {
16
- const { isExpanded, collapse } = useMdSidebarStore()
17
-
18
- return (
19
- <>
20
- <div
21
- className={`hidden md:block lg:hidden fixed inset-0 bg-black/50 z-20 transition-opacity duration-300 ${
22
- isExpanded ? "opacity-100" : "opacity-0 pointer-events-none"
23
- }`}
24
- onClick={collapse}
25
- />
26
- <div
27
- className={`hidden md:flex lg:hidden fixed top-0 bottom-0 left-[73px] z-30 transition-transform duration-300 ease-in-out overflow-visible ${
28
- isExpanded ? "translate-x-0" : "-translate-x-full"
29
- }`}
30
- >
31
- <div
32
- data-slot="md-sidebar-navigation"
33
- className={cn("relative w-[273px] h-full flex flex-col p-4 bg-white border-r border-gray-200", className)}
34
- {...props}
35
- >
36
- {isExpanded && (
37
- <Tooltip>
38
- <TooltipTrigger asChild>
39
- <button
40
- onClick={collapse}
41
- 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"
42
- >
43
- <IconChevronLeft size={16} className="text-gray-500" />
44
- </button>
45
- </TooltipTrigger>
46
- <TooltipContent side="right">Recolher menu</TooltipContent>
47
- </Tooltip>
48
- )}
49
- {children}
50
- </div>
51
- </div>
52
- </>
53
- )
54
- }
55
-
56
- export { MdSideBarNavigation };
1
+ 'use client';
2
+
3
+ "use client"
4
+
5
+ import * as React from "react"
6
+ import { IconChevronLeft } from '@tabler/icons-react'
7
+ import { useMdSidebarStore } from "../../store/useMdSidebarStore"
8
+ import { cn } from "../../infra/utils/clsx"
9
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip"
10
+
11
+ function MdSideBarNavigation({
12
+ className,
13
+ children,
14
+ ...props
15
+ }: React.ComponentProps<"div">) {
16
+ const { isExpanded, collapse } = useMdSidebarStore()
17
+
18
+ return (
19
+ <>
20
+ <div
21
+ className={`hidden md:block lg:hidden fixed inset-0 bg-black/50 z-20 transition-opacity duration-300 ${
22
+ isExpanded ? "opacity-100" : "opacity-0 pointer-events-none"
23
+ }`}
24
+ onClick={collapse}
25
+ />
26
+ <div
27
+ className={`hidden md:flex lg:hidden fixed top-0 bottom-0 left-[73px] z-30 transition-transform duration-300 ease-in-out overflow-visible ${
28
+ isExpanded ? "translate-x-0" : "-translate-x-full"
29
+ }`}
30
+ >
31
+ <div
32
+ data-slot="md-sidebar-navigation"
33
+ className={cn("relative w-[273px] h-full flex flex-col p-4 bg-white border-r border-gray-200", className)}
34
+ {...props}
35
+ >
36
+ {isExpanded && (
37
+ <Tooltip>
38
+ <TooltipTrigger asChild>
39
+ <button
40
+ onClick={collapse}
41
+ 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"
42
+ >
43
+ <IconChevronLeft size={16} className="text-gray-500" />
44
+ </button>
45
+ </TooltipTrigger>
46
+ <TooltipContent side="right">Recolher menu</TooltipContent>
47
+ </Tooltip>
48
+ )}
49
+ {children}
50
+ </div>
51
+ </div>
52
+ </>
53
+ )
54
+ }
55
+
56
+ export { MdSideBarNavigation };
@@ -1,120 +1,120 @@
1
- "use client";
2
-
3
- import * as React from "react";
4
- import Image from "next/image";
5
- import { IconChevronRight } from "@tabler/icons-react";
6
- import { Separator } from "../ui/data-display/Separator";
7
- import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
8
- import { cn } from "../../infra/utils/clsx";
9
-
10
- type NavBarProps = {
11
- onLogoClick: () => void;
12
- onAppIconClick?: () => void;
13
- activeApp?: "gapps" | "gpages";
14
- showExpandButton?: boolean;
15
- onExpandClick?: () => void;
16
- children?: React.ReactNode;
17
- className?: string;
18
- };
19
-
20
- function NavBar({
21
- onLogoClick,
22
- onAppIconClick,
23
- activeApp,
24
- showExpandButton = false,
25
- onExpandClick,
26
- children,
27
- className,
28
- }: NavBarProps) {
29
- return (
30
- <div
31
- className={cn(
32
- "hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white",
33
- className,
34
- )}
35
- >
36
- <div className="flex flex-col gap-4 items-center mt-[6.5px]">
37
- {/* GreatApps logo */}
38
- <div className="relative">
39
- <Tooltip>
40
- <TooltipTrigger
41
- className="cursor-pointer"
42
- asChild
43
- onClick={onLogoClick}
44
- >
45
- <Image
46
- src="/icons/great-icon.svg"
47
- alt="Great Icon"
48
- width={28}
49
- height={28}
50
- />
51
- </TooltipTrigger>
52
- <TooltipContent side="right">Great</TooltipContent>
53
- </Tooltip>
54
- <div
55
- className={cn(
56
- "absolute -left-[22px] top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 bg-gray-950 rounded-r-xl transition-opacity duration-300",
57
- activeApp === "gapps" ? "opacity-100" : "opacity-0",
58
- )}
59
- />
60
- </div>
61
-
62
- <div className="relative w-full mt-[7.5px]">
63
- <Separator />
64
- {showExpandButton && (
65
- <Tooltip>
66
- <TooltipTrigger asChild>
67
- <button
68
- onClick={onExpandClick}
69
- 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"
70
- >
71
- <IconChevronRight size={16} className="text-gray-500" />
72
- </button>
73
- </TooltipTrigger>
74
- <TooltipContent side="right">Expandir menu</TooltipContent>
75
- </Tooltip>
76
- )}
77
- </div>
78
-
79
- {/* GreatPages icon */}
80
- <div className="relative">
81
- <Tooltip>
82
- <TooltipTrigger asChild onClick={onAppIconClick}>
83
- {activeApp === "gpages" ? (
84
- <div className="size-10 rounded-lg cursor-pointer flex items-center justify-center bg-cyan-100 border-2 border-white ring-2 ring-cyan-300">
85
- <Image
86
- src="/icons/icon-navbar.svg"
87
- alt="GreatPages"
88
- width={24}
89
- height={24}
90
- />
91
- </div>
92
- ) : (
93
- <div className="size-10 flex items-center justify-center rounded-lg cursor-pointer hover:bg-gray-100 transition-colors duration-300 border-2 border-transparent ring-2 ring-transparent">
94
- <Image
95
- src="/icons/icon-navbar.svg"
96
- alt="GreatPages"
97
- width={24}
98
- height={24}
99
- />
100
- </div>
101
- )}
102
- </TooltipTrigger>
103
- <TooltipContent side="right">GreatPages</TooltipContent>
104
- </Tooltip>
105
- <div
106
- className={cn(
107
- "absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 bg-cyan-300 rounded-r-xl transition-opacity duration-300",
108
- activeApp === "gpages" ? "opacity-100" : "opacity-0",
109
- )}
110
- />
111
- </div>
112
- </div>
113
-
114
- <div className="flex flex-col items-center gap-2">{children}</div>
115
- </div>
116
- );
117
- }
118
-
119
- export { NavBar };
120
- export type { NavBarProps };
1
+ "use client";
2
+
3
+ import * as React from "react";
4
+ import Image from "next/image";
5
+ import { IconChevronRight } from "@tabler/icons-react";
6
+ import { Separator } from "../ui/data-display/Separator";
7
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
8
+ import { cn } from "../../infra/utils/clsx";
9
+
10
+ type NavBarProps = {
11
+ onLogoClick: () => void;
12
+ onAppIconClick?: () => void;
13
+ activeApp?: "gapps" | "gpages";
14
+ showExpandButton?: boolean;
15
+ onExpandClick?: () => void;
16
+ children?: React.ReactNode;
17
+ className?: string;
18
+ };
19
+
20
+ function NavBar({
21
+ onLogoClick,
22
+ onAppIconClick,
23
+ activeApp,
24
+ showExpandButton = false,
25
+ onExpandClick,
26
+ children,
27
+ className,
28
+ }: NavBarProps) {
29
+ return (
30
+ <div
31
+ className={cn(
32
+ "hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white",
33
+ className,
34
+ )}
35
+ >
36
+ <div className="flex flex-col gap-4 items-center mt-[6.5px]">
37
+ {/* GreatApps logo */}
38
+ <div className="relative">
39
+ <Tooltip>
40
+ <TooltipTrigger
41
+ className="cursor-pointer"
42
+ asChild
43
+ onClick={onLogoClick}
44
+ >
45
+ <Image
46
+ src="/icons/great-icon.svg"
47
+ alt="Great Icon"
48
+ width={28}
49
+ height={28}
50
+ />
51
+ </TooltipTrigger>
52
+ <TooltipContent side="right">Great</TooltipContent>
53
+ </Tooltip>
54
+ <div
55
+ className={cn(
56
+ "absolute -left-[22px] top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 bg-gray-950 rounded-r-xl transition-opacity duration-300",
57
+ activeApp === "gapps" ? "opacity-100" : "opacity-0",
58
+ )}
59
+ />
60
+ </div>
61
+
62
+ <div className="relative w-full mt-[7.5px]">
63
+ <Separator />
64
+ {showExpandButton && (
65
+ <Tooltip>
66
+ <TooltipTrigger asChild>
67
+ <button
68
+ onClick={onExpandClick}
69
+ 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"
70
+ >
71
+ <IconChevronRight size={16} className="text-gray-500" />
72
+ </button>
73
+ </TooltipTrigger>
74
+ <TooltipContent side="right">Expandir menu</TooltipContent>
75
+ </Tooltip>
76
+ )}
77
+ </div>
78
+
79
+ {/* GreatPages icon */}
80
+ <div className="relative">
81
+ <Tooltip>
82
+ <TooltipTrigger asChild onClick={onAppIconClick}>
83
+ {activeApp === "gpages" ? (
84
+ <div className="size-10 rounded-lg cursor-pointer flex items-center justify-center bg-cyan-100 border-2 border-white ring-2 ring-cyan-300">
85
+ <Image
86
+ src="/icons/icon-navbar.svg"
87
+ alt="GreatPages"
88
+ width={24}
89
+ height={24}
90
+ />
91
+ </div>
92
+ ) : (
93
+ <div className="size-10 flex items-center justify-center rounded-lg cursor-pointer hover:bg-gray-100 transition-colors duration-300 border-2 border-transparent ring-2 ring-transparent">
94
+ <Image
95
+ src="/icons/icon-navbar.svg"
96
+ alt="GreatPages"
97
+ width={24}
98
+ height={24}
99
+ />
100
+ </div>
101
+ )}
102
+ </TooltipTrigger>
103
+ <TooltipContent side="right">GreatPages</TooltipContent>
104
+ </Tooltip>
105
+ <div
106
+ className={cn(
107
+ "absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 bg-cyan-300 rounded-r-xl transition-opacity duration-300",
108
+ activeApp === "gpages" ? "opacity-100" : "opacity-0",
109
+ )}
110
+ />
111
+ </div>
112
+ </div>
113
+
114
+ <div className="flex flex-col items-center gap-2">{children}</div>
115
+ </div>
116
+ );
117
+ }
118
+
119
+ export { NavBar };
120
+ export type { NavBarProps };