@greatapps/common 1.1.375 → 1.1.376
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.
- package/dist/components/account/AccountModals.mjs.map +1 -1
- package/dist/components/account/ConfigurationsMyAccountModal.mjs +1 -1
- package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -1
- package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -1
- package/dist/components/account/DeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -1
- package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -1
- package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -1
- package/dist/components/account/hooks/useChangePhoneForm.mjs.map +1 -1
- package/dist/components/account/hooks/useTwoFactorAuthForm.mjs.map +1 -1
- package/dist/components/account/sections/ChangeEmailModal.mjs.map +1 -1
- package/dist/components/account/sections/ChangePasswordSection.mjs.map +1 -1
- package/dist/components/account/sections/ChangePhoneModal.mjs.map +1 -1
- package/dist/components/account/sections/MyProfileSection.mjs.map +1 -1
- package/dist/components/account/sections/PreferencesSection.mjs.map +1 -1
- package/dist/components/account/sections/SecuritySection.mjs.map +1 -1
- package/dist/components/embeds/CrispEmbed.mjs.map +1 -1
- package/dist/components/embeds/FrillEmbed.mjs.map +1 -1
- package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -1
- package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
- package/dist/components/layouts/AppNavBar.mjs.map +1 -1
- package/dist/components/layouts/CollapsibleSidebar.mjs.map +1 -1
- package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -1
- package/dist/components/layouts/NavBar.mjs.map +1 -1
- package/dist/components/layouts/NotificationsPopover.mjs.map +1 -1
- package/dist/components/layouts/ProfilePopover.mjs +1 -1
- package/dist/components/layouts/ProfilePopover.mjs.map +1 -1
- package/dist/components/layouts/SideBarNavigation.mjs.map +1 -1
- package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -1
- package/dist/components/layouts/WhitelabelCodes.mjs.map +1 -1
- package/dist/components/modals/BuyCreditsModal.mjs.map +1 -1
- package/dist/components/modals/ModalManager.mjs.map +1 -1
- package/dist/components/modals/Modals.mjs.map +1 -1
- package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
- package/dist/components/modals/cards/CardFormFields.mjs.map +1 -1
- package/dist/components/navigation/CancelledSubscriptionBanner.mjs.map +1 -1
- package/dist/components/navigation/NavItemsContext.mjs.map +1 -1
- package/dist/components/navigation/ProjectSelectorPopover.mjs.map +1 -1
- package/dist/components/navigation/shells/TabsMobileShell.mjs.map +1 -1
- package/dist/components/navigation/subcomponents/ProjectSelector.mjs.map +1 -1
- package/dist/components/pages/NotFoundPage.mjs +11 -1
- package/dist/components/pages/NotFoundPage.mjs.map +1 -1
- package/dist/components/pages/notifications/Notifications.mjs.map +1 -1
- package/dist/components/ui/buttons/Button.mjs.map +1 -1
- package/dist/components/ui/buttons/CancelButton.mjs.map +1 -1
- package/dist/components/ui/buttons/CopyButton.mjs.map +1 -1
- package/dist/components/ui/data-display/Accordion.mjs.map +1 -1
- package/dist/components/ui/data-display/Badge.mjs.map +1 -1
- package/dist/components/ui/data-display/Card.mjs.map +1 -1
- package/dist/components/ui/data-display/CardBrandIcons.mjs.map +1 -1
- package/dist/components/ui/data-display/CardItem.mjs.map +1 -1
- package/dist/components/ui/data-display/Pagination.mjs.map +1 -1
- package/dist/components/ui/data-display/PaymentInfoCard.mjs.map +1 -1
- package/dist/components/ui/data-display/ScrollArea.mjs.map +1 -1
- package/dist/components/ui/data-display/Separator.mjs.map +1 -1
- package/dist/components/ui/data-display/Table.mjs.map +1 -1
- package/dist/components/ui/data-display/Tabs.mjs.map +1 -1
- package/dist/components/ui/feedback/CircularProgress.mjs.map +1 -1
- package/dist/components/ui/feedback/DefaultCircularProgress.mjs.map +1 -1
- package/dist/components/ui/feedback/LoadingOverlay.mjs.map +1 -1
- package/dist/components/ui/feedback/Progress.mjs.map +1 -1
- package/dist/components/ui/feedback/Skeleton.mjs.map +1 -1
- package/dist/components/ui/feedback/Toast.mjs.map +1 -1
- package/dist/components/ui/form/Calendar.mjs.map +1 -1
- package/dist/components/ui/form/Checkbox.mjs.map +1 -1
- package/dist/components/ui/form/ComboboxField.mjs.map +1 -1
- package/dist/components/ui/form/DatePicker.mjs.map +1 -1
- package/dist/components/ui/form/DateRangePicker.mjs.map +1 -1
- package/dist/components/ui/form/FormField.mjs.map +1 -1
- package/dist/components/ui/form/Input.mjs.map +1 -1
- package/dist/components/ui/form/InputOtp.mjs.map +1 -1
- package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
- package/dist/components/ui/form/RadioGroup.mjs.map +1 -1
- package/dist/components/ui/form/Select.mjs +1 -1
- package/dist/components/ui/form/Select.mjs.map +1 -1
- package/dist/components/ui/form/Switch.mjs.map +1 -1
- package/dist/components/ui/form/Textarea.mjs.map +1 -1
- package/dist/components/ui/overlay/Command.mjs.map +1 -1
- package/dist/components/ui/overlay/Dialog.mjs.map +1 -1
- package/dist/components/ui/overlay/Popover.mjs.map +1 -1
- package/dist/components/ui/overlay/Sheet.mjs.map +1 -1
- package/dist/components/ui/overlay/Tooltip.mjs.map +1 -1
- package/dist/components/widgets/notifications/NotificationCard.mjs.map +1 -1
- package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -1
- package/dist/hooks/useDebounce.mjs.map +1 -1
- package/dist/hooks/useDebounceState.mjs.map +1 -1
- package/dist/hooks/useDebouncedEffect.mjs.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/dist/infra/utils/clsx.mjs.map +1 -1
- package/dist/infra/utils/date.mjs.map +1 -1
- package/dist/infra/utils/parser.mjs.map +1 -1
- package/dist/infra/utils/percentage.mjs.map +1 -1
- package/dist/middleware.mjs.map +1 -1
- package/dist/modules/accounts/actions/account-management.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/find-current-account.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/list-currencies.action.mjs.map +1 -1
- package/dist/modules/accounts/actions/list-timezones.action.mjs.map +1 -1
- package/dist/modules/accounts/hooks/current-account.hook.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useAccountManagement.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useCurrencies.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useTimezones.mjs.map +1 -1
- package/dist/modules/accounts/hooks/useViaCep.mjs.map +1 -1
- package/dist/modules/accounts/services/account.service.mjs.map +1 -1
- package/dist/modules/auth/actions/validate-session.action.mjs.map +1 -1
- package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
- package/dist/modules/auth/hooks/logout.hook.mjs.map +1 -1
- package/dist/modules/auth/hooks/register.hook.mjs.map +1 -1
- package/dist/modules/auth/hooks/useManagementPermissions.mjs.map +1 -1
- package/dist/modules/auth/utils/assert-management-permission.mjs.map +1 -1
- package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
- package/dist/modules/auth/utils/build-wl-override.mjs.map +1 -1
- package/dist/modules/cards/actions/create-card.action.mjs.map +1 -1
- package/dist/modules/cards/actions/list-cards.action.mjs.map +1 -1
- package/dist/modules/cards/hooks/cards.hook.mjs.map +1 -1
- package/dist/modules/cards/hooks/create-card.hook.mjs.map +1 -1
- package/dist/modules/cards/services/cards.service.mjs.map +1 -1
- package/dist/modules/cards/types.mjs.map +1 -1
- package/dist/modules/ia-credits/actions/list-ia-credits.action.mjs.map +1 -1
- package/dist/modules/plans/actions/find-plan-by-id.action.mjs.map +1 -1
- package/dist/modules/plans/hooks/use-has-plan-addon.hook.mjs.map +1 -1
- package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
- package/dist/modules/plans/services/plans.service.mjs.map +1 -1
- package/dist/modules/plans/types/plan.type.mjs.map +1 -1
- package/dist/modules/projects/actions/add-project-user.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-all-account-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-available-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/list-project-users.action.mjs.map +1 -1
- package/dist/modules/projects/actions/remove-project-user.action.mjs.map +1 -1
- package/dist/modules/projects/hooks/add-project-user.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-all-account-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-available-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/list-project-users.hook.mjs.map +1 -1
- package/dist/modules/projects/hooks/remove-project-user.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/calculate-subscription.action.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/list-subscriptions.action.mjs.map +1 -1
- package/dist/modules/subscriptions/actions/update-subscription-plan.action.mjs.map +1 -1
- package/dist/modules/subscriptions/constants/query-keys.constants.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/calculate-subscription.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/list-subscriptions.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/update-subscription-plan.hook.mjs.map +1 -1
- package/dist/modules/subscriptions/hooks/use-cancelled-subscription-guard.mjs.map +1 -1
- package/dist/modules/subscriptions/types/calculate-subscription.type.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/build-plan-extras.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/has-subscription-expired.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/periodicity.mjs.map +1 -1
- package/dist/modules/subscriptions/utils/resolve-plan-extras-prices.mjs.map +1 -1
- package/dist/modules/users/action/find-user-by-id.action.mjs.map +1 -1
- package/dist/modules/users/action/list-messages.action.mjs.map +1 -1
- package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -1
- package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -1
- package/dist/modules/users/hooks/messages.hook.mjs.map +1 -1
- package/dist/modules/users/services/messages.service.mjs.map +1 -1
- package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
- package/dist/modules/whitelabel/actions/revalidate-whitelabel.action.mjs.map +1 -1
- package/dist/modules/whitelabel/utils/normalize-hostname.mjs.map +1 -1
- package/dist/providers/whitelabel.provider.mjs.map +1 -1
- package/dist/store/useAccountModals.mjs.map +1 -1
- package/dist/store/useBuyCreditsModal.mjs.map +1 -1
- package/dist/store/useDesktopSidebarStore.mjs.map +1 -1
- package/dist/store/useMdSidebarStore.mjs.map +1 -1
- package/dist/store/useModalManager.mjs.map +1 -1
- package/dist/utils/constants/br-states.mjs.map +1 -1
- package/dist/utils/countries.mjs.map +1 -1
- package/dist/utils/safeServerAction.mjs.map +1 -1
- package/dist/utils/withAction.mjs.map +1 -1
- package/package.json +89 -89
- package/src/components/account/AccountModals.tsx +17 -17
- package/src/components/account/ConfigurationsMyAccountModal.tsx +146 -146
- package/src/components/account/ConfirmDeleteAccountModal.tsx +55 -55
- package/src/components/account/ConfirmGlobalPreferencesModal.tsx +66 -66
- package/src/components/account/DeleteAccountModal.tsx +130 -130
- package/src/components/account/DisableTwoFactorAuthModal.tsx +86 -86
- package/src/components/account/IsntPossibleDeleteAccountModal.tsx +49 -49
- package/src/components/account/TwoFactorAuthModal.tsx +215 -215
- package/src/components/account/hooks/useChangePhoneForm.tsx +107 -107
- package/src/components/account/hooks/useTwoFactorAuthForm.tsx +101 -101
- package/src/components/account/sections/ChangeEmailModal.tsx +225 -225
- package/src/components/account/sections/ChangePasswordSection.tsx +64 -64
- package/src/components/account/sections/ChangePhoneModal.tsx +245 -245
- package/src/components/account/sections/MyProfileSection.tsx +327 -327
- package/src/components/account/sections/PreferencesSection.tsx +248 -248
- package/src/components/account/sections/SecuritySection.tsx +46 -46
- package/src/components/embeds/CrispEmbed.tsx +101 -101
- package/src/components/embeds/FrillEmbed.tsx +119 -119
- package/src/components/handlers/SearchParamsHandler.tsx +61 -61
- package/src/components/layouts/AppMobileNavBar.tsx +118 -118
- package/src/components/layouts/AppNavBar.tsx +46 -46
- package/src/components/layouts/CollapsibleSidebar.tsx +67 -67
- package/src/components/layouts/MdSideBarNavigation.tsx +56 -56
- package/src/components/layouts/NavBar.tsx +172 -172
- package/src/components/layouts/NotificationsPopover.tsx +115 -115
- package/src/components/layouts/ProfilePopover.tsx +178 -178
- package/src/components/layouts/SideBarNavigation.tsx +62 -62
- package/src/components/layouts/UsersSelectorPopover.tsx +234 -234
- package/src/components/layouts/WhitelabelCodes.tsx +59 -59
- package/src/components/modals/BuyCreditsModal.tsx +314 -314
- package/src/components/modals/ModalManager.tsx +29 -29
- package/src/components/modals/Modals.tsx +26 -26
- package/src/components/modals/cards/AddCardModal.tsx +260 -260
- package/src/components/modals/cards/CardFormFields.tsx +294 -294
- package/src/components/navigation/CancelledSubscriptionBanner.tsx +60 -60
- package/src/components/navigation/NavItemsContext.ts +20 -20
- package/src/components/navigation/ProjectSelectorPopover.tsx +160 -160
- package/src/components/navigation/shells/TabsMobileShell.tsx +72 -72
- package/src/components/navigation/subcomponents/ProjectSelector.tsx +160 -160
- package/src/components/pages/NotFoundPage.tsx +59 -50
- package/src/components/pages/notifications/Notifications.tsx +160 -160
- package/src/components/ui/buttons/Button.tsx +57 -57
- package/src/components/ui/buttons/CancelButton.tsx +14 -14
- package/src/components/ui/buttons/CopyButton.tsx +54 -54
- package/src/components/ui/data-display/Accordion.tsx +81 -81
- package/src/components/ui/data-display/Badge.tsx +47 -47
- package/src/components/ui/data-display/Card.tsx +93 -93
- package/src/components/ui/data-display/CardBrandIcons.tsx +336 -336
- package/src/components/ui/data-display/CardItem.tsx +75 -75
- package/src/components/ui/data-display/Pagination.tsx +126 -126
- package/src/components/ui/data-display/PaymentInfoCard.tsx +186 -186
- package/src/components/ui/data-display/ScrollArea.tsx +59 -59
- package/src/components/ui/data-display/Separator.tsx +29 -29
- package/src/components/ui/data-display/Table.tsx +117 -117
- package/src/components/ui/data-display/Tabs.tsx +67 -67
- package/src/components/ui/feedback/CircularProgress.tsx +75 -75
- package/src/components/ui/feedback/DefaultCircularProgress.tsx +61 -61
- package/src/components/ui/feedback/LoadingOverlay.tsx +31 -31
- package/src/components/ui/feedback/Progress.tsx +40 -40
- package/src/components/ui/feedback/Skeleton.tsx +5 -5
- package/src/components/ui/feedback/Toast.tsx +101 -101
- package/src/components/ui/form/Calendar.tsx +228 -228
- package/src/components/ui/form/Checkbox.tsx +31 -31
- package/src/components/ui/form/ComboboxField.tsx +154 -154
- package/src/components/ui/form/DatePicker.tsx +97 -97
- package/src/components/ui/form/DateRangePicker.tsx +108 -108
- package/src/components/ui/form/FormField.tsx +131 -131
- package/src/components/ui/form/Input.tsx +20 -20
- package/src/components/ui/form/InputOtp.tsx +80 -80
- package/src/components/ui/form/PhoneInput.tsx +208 -208
- package/src/components/ui/form/RadioGroup.tsx +45 -45
- package/src/components/ui/form/Select.tsx +200 -200
- package/src/components/ui/form/Switch.tsx +32 -32
- package/src/components/ui/form/Textarea.tsx +19 -19
- package/src/components/ui/overlay/Command.tsx +185 -185
- package/src/components/ui/overlay/Dialog.tsx +151 -151
- package/src/components/ui/overlay/Popover.tsx +49 -49
- package/src/components/ui/overlay/Sheet.tsx +166 -166
- package/src/components/ui/overlay/Tooltip.tsx +62 -62
- package/src/components/widgets/notifications/NotificationCard.tsx +68 -68
- package/src/hooks/copy-to-clipboard.hook.tsx +67 -67
- package/src/hooks/useDebounce.ts +26 -26
- package/src/hooks/useDebounceState.ts +11 -11
- package/src/hooks/useDebouncedEffect.ts +69 -69
- package/src/index.ts +391 -391
- package/src/infra/utils/clsx.ts +6 -6
- package/src/infra/utils/date.ts +7 -7
- package/src/infra/utils/parser.ts +52 -52
- package/src/infra/utils/percentage.ts +42 -42
- package/src/middleware.ts +4 -4
- package/src/modules/accounts/actions/account-management.action.ts +107 -107
- package/src/modules/accounts/actions/find-current-account.action.ts +9 -9
- package/src/modules/accounts/actions/list-currencies.action.ts +8 -8
- package/src/modules/accounts/actions/list-timezones.action.ts +8 -8
- package/src/modules/accounts/hooks/current-account.hook.tsx +22 -22
- package/src/modules/accounts/hooks/useAccountManagement.ts +85 -85
- package/src/modules/accounts/hooks/useCurrencies.ts +15 -15
- package/src/modules/accounts/hooks/useTimezones.ts +15 -15
- package/src/modules/accounts/hooks/useViaCep.ts +25 -25
- package/src/modules/accounts/services/account.service.ts +239 -239
- package/src/modules/accounts/types.ts +225 -225
- package/src/modules/auth/actions/validate-session.action.ts +56 -56
- package/src/modules/auth/hooks/login.hook.tsx +13 -13
- package/src/modules/auth/hooks/logout.hook.tsx +11 -11
- package/src/modules/auth/hooks/register.hook.tsx +11 -11
- package/src/modules/auth/hooks/useManagementPermissions.ts +45 -45
- package/src/modules/auth/types/management-permission.type.ts +7 -7
- package/src/modules/auth/utils/assert-management-permission.ts +46 -46
- package/src/modules/auth/utils/assert-management-subscription.ts +27 -27
- package/src/modules/auth/utils/build-wl-override.ts +43 -43
- package/src/modules/cards/actions/create-card.action.ts +9 -9
- package/src/modules/cards/actions/list-cards.action.ts +8 -8
- package/src/modules/cards/hooks/cards.hook.ts +14 -14
- package/src/modules/cards/hooks/create-card.hook.ts +18 -18
- package/src/modules/cards/services/cards.service.ts +51 -51
- package/src/modules/cards/types.ts +32 -32
- package/src/modules/ia-credits/actions/list-ia-credits.action.ts +8 -8
- package/src/modules/plans/actions/find-plan-by-id.action.ts +8 -8
- package/src/modules/plans/hooks/use-has-plan-addon.hook.ts +17 -17
- package/src/modules/plans/hooks/use-plan-by-id.hook.ts +13 -13
- package/src/modules/plans/services/plans.service.ts +36 -36
- package/src/modules/plans/types/plan.type.ts +21 -21
- package/src/modules/projects/actions/add-project-user.action.ts +9 -9
- package/src/modules/projects/actions/list-all-account-users.action.ts +9 -9
- package/src/modules/projects/actions/list-available-users.action.ts +9 -9
- package/src/modules/projects/actions/list-project-users.action.ts +9 -9
- package/src/modules/projects/actions/remove-project-user.action.ts +9 -9
- package/src/modules/projects/hooks/add-project-user.hook.ts +69 -69
- package/src/modules/projects/hooks/list-all-account-users.hook.ts +34 -34
- package/src/modules/projects/hooks/list-available-users.hook.ts +33 -33
- package/src/modules/projects/hooks/list-project-users.hook.ts +33 -33
- package/src/modules/projects/hooks/remove-project-user.hook.ts +69 -69
- package/src/modules/subscriptions/actions/calculate-subscription.action.ts +9 -9
- package/src/modules/subscriptions/actions/list-subscriptions.action.ts +9 -9
- package/src/modules/subscriptions/actions/update-subscription-plan.action.ts +14 -14
- package/src/modules/subscriptions/constants/query-keys.constants.ts +1 -1
- package/src/modules/subscriptions/hooks/calculate-subscription.hook.ts +13 -13
- package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +19 -19
- package/src/modules/subscriptions/hooks/list-subscriptions.hook.ts +16 -16
- package/src/modules/subscriptions/hooks/update-subscription-plan.hook.ts +25 -25
- package/src/modules/subscriptions/hooks/use-cancelled-subscription-guard.ts +39 -39
- package/src/modules/subscriptions/types/billing-period.type.ts +1 -1
- package/src/modules/subscriptions/types/calculate-subscription.type.ts +75 -75
- package/src/modules/subscriptions/utils/build-plan-extras.ts +56 -56
- package/src/modules/subscriptions/utils/has-subscription-expired.ts +8 -8
- package/src/modules/subscriptions/utils/periodicity.ts +52 -52
- package/src/modules/subscriptions/utils/resolve-plan-extras-prices.ts +23 -23
- package/src/modules/users/action/find-user-by-id.action.ts +8 -8
- package/src/modules/users/action/list-messages.action.ts +12 -12
- package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -8
- package/src/modules/users/action/mark-message-as-read.action.ts +8 -8
- package/src/modules/users/hooks/messages.hook.ts +60 -60
- package/src/modules/users/services/messages.service.ts +48 -48
- package/src/modules/whitelabel/actions/find-whitelabel.action.ts +23 -23
- package/src/modules/whitelabel/actions/revalidate-whitelabel.action.ts +19 -19
- package/src/modules/whitelabel/schema.ts +84 -84
- package/src/modules/whitelabel/utils/normalize-hostname.ts +26 -26
- package/src/providers/whitelabel.provider.tsx +54 -54
- package/src/store/useAccountModals.ts +55 -55
- package/src/store/useBuyCreditsModal.ts +21 -21
- package/src/store/useDesktopSidebarStore.ts +47 -47
- package/src/store/useMdSidebarStore.ts +34 -34
- package/src/store/useModalManager.ts +104 -104
- package/src/utils/constants/br-states.ts +29 -29
- package/src/utils/countries.ts +224 -224
- package/src/utils/safeServerAction.ts +21 -21
- package/src/utils/withAction.ts +13 -13
package/src/infra/utils/clsx.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { clsx, type ClassValue } from "clsx"
|
|
2
|
-
import { twMerge } from "tailwind-merge"
|
|
3
|
-
|
|
4
|
-
export function cn(...inputs: ClassValue[]) {
|
|
5
|
-
return twMerge(clsx(inputs))
|
|
6
|
-
}
|
|
1
|
+
import { clsx, type ClassValue } from "clsx"
|
|
2
|
+
import { twMerge } from "tailwind-merge"
|
|
3
|
+
|
|
4
|
+
export function cn(...inputs: ClassValue[]) {
|
|
5
|
+
return twMerge(clsx(inputs))
|
|
6
|
+
}
|
package/src/infra/utils/date.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export function formatShortDate(date: Date | string | null | undefined): string {
|
|
2
|
-
if (!date) return '--';
|
|
3
|
-
const d = new Date(date);
|
|
4
|
-
const day = String(d.getDate()).padStart(2, '0');
|
|
5
|
-
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
6
|
-
return `${day}/${month}`;
|
|
7
|
-
}
|
|
1
|
+
export function formatShortDate(date: Date | string | null | undefined): string {
|
|
2
|
+
if (!date) return '--';
|
|
3
|
+
const d = new Date(date);
|
|
4
|
+
const day = String(d.getDate()).padStart(2, '0');
|
|
5
|
+
const month = String(d.getMonth() + 1).padStart(2, '0');
|
|
6
|
+
return `${day}/${month}`;
|
|
7
|
+
}
|
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import z, { ZodTypeAny } from "zod";
|
|
2
|
-
import { PaginatedSuccessResult, SuccessResult } from "../api/types";
|
|
3
|
-
|
|
4
|
-
/* Overloads */
|
|
5
|
-
export function parseSchema<T extends ZodTypeAny>(
|
|
6
|
-
schema: T,
|
|
7
|
-
data: unknown[]
|
|
8
|
-
): z.infer<T>[];
|
|
9
|
-
|
|
10
|
-
export function parseSchema<T extends ZodTypeAny>(
|
|
11
|
-
schema: T,
|
|
12
|
-
data: unknown
|
|
13
|
-
): z.infer<T>;
|
|
14
|
-
|
|
15
|
-
export function parseSchema<T extends ZodTypeAny>(
|
|
16
|
-
schema: T,
|
|
17
|
-
data: unknown | unknown[]
|
|
18
|
-
) {
|
|
19
|
-
if (Array.isArray(data)) {
|
|
20
|
-
return data.map(item => schema.parse(item));
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return schema.parse(data);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export function parseResult<T extends ZodTypeAny>(
|
|
27
|
-
schema: T,
|
|
28
|
-
result: PaginatedSuccessResult<unknown>
|
|
29
|
-
): PaginatedSuccessResult<z.infer<T>>;
|
|
30
|
-
|
|
31
|
-
export function parseResult<T extends ZodTypeAny>(
|
|
32
|
-
schema: T,
|
|
33
|
-
result: SuccessResult<unknown>
|
|
34
|
-
): SuccessResult<z.infer<T>>;
|
|
35
|
-
|
|
36
|
-
export function parseResult<T extends ZodTypeAny>(
|
|
37
|
-
schema: T,
|
|
38
|
-
result: SuccessResult<unknown> | PaginatedSuccessResult<unknown>
|
|
39
|
-
) {
|
|
40
|
-
if (!result.data) return result;
|
|
41
|
-
|
|
42
|
-
if (Array.isArray(result.data)) {
|
|
43
|
-
return {
|
|
44
|
-
...result,
|
|
45
|
-
data: result.data.map(item => schema.parse(item)),
|
|
46
|
-
};
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return {
|
|
50
|
-
...result,
|
|
51
|
-
data: schema.parse(result.data),
|
|
52
|
-
};
|
|
1
|
+
import z, { ZodTypeAny } from "zod";
|
|
2
|
+
import { PaginatedSuccessResult, SuccessResult } from "../api/types";
|
|
3
|
+
|
|
4
|
+
/* Overloads */
|
|
5
|
+
export function parseSchema<T extends ZodTypeAny>(
|
|
6
|
+
schema: T,
|
|
7
|
+
data: unknown[]
|
|
8
|
+
): z.infer<T>[];
|
|
9
|
+
|
|
10
|
+
export function parseSchema<T extends ZodTypeAny>(
|
|
11
|
+
schema: T,
|
|
12
|
+
data: unknown
|
|
13
|
+
): z.infer<T>;
|
|
14
|
+
|
|
15
|
+
export function parseSchema<T extends ZodTypeAny>(
|
|
16
|
+
schema: T,
|
|
17
|
+
data: unknown | unknown[]
|
|
18
|
+
) {
|
|
19
|
+
if (Array.isArray(data)) {
|
|
20
|
+
return data.map(item => schema.parse(item));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return schema.parse(data);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export function parseResult<T extends ZodTypeAny>(
|
|
27
|
+
schema: T,
|
|
28
|
+
result: PaginatedSuccessResult<unknown>
|
|
29
|
+
): PaginatedSuccessResult<z.infer<T>>;
|
|
30
|
+
|
|
31
|
+
export function parseResult<T extends ZodTypeAny>(
|
|
32
|
+
schema: T,
|
|
33
|
+
result: SuccessResult<unknown>
|
|
34
|
+
): SuccessResult<z.infer<T>>;
|
|
35
|
+
|
|
36
|
+
export function parseResult<T extends ZodTypeAny>(
|
|
37
|
+
schema: T,
|
|
38
|
+
result: SuccessResult<unknown> | PaginatedSuccessResult<unknown>
|
|
39
|
+
) {
|
|
40
|
+
if (!result.data) return result;
|
|
41
|
+
|
|
42
|
+
if (Array.isArray(result.data)) {
|
|
43
|
+
return {
|
|
44
|
+
...result,
|
|
45
|
+
data: result.data.map(item => schema.parse(item)),
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
return {
|
|
50
|
+
...result,
|
|
51
|
+
data: schema.parse(result.data),
|
|
52
|
+
};
|
|
53
53
|
}
|
|
@@ -1,42 +1,42 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Calcula percentual de um valor em relação ao total
|
|
3
|
-
* @param current - Valor atual
|
|
4
|
-
* @param total - Valor total
|
|
5
|
-
* @returns Percentual (0-100)
|
|
6
|
-
*/
|
|
7
|
-
export const calculatePercentage = (current: number, total: number): number => {
|
|
8
|
-
if (total === 0) return 0;
|
|
9
|
-
return (current / total) * 100;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Calcula a circunferência de um círculo
|
|
14
|
-
* @param radius - Raio do círculo
|
|
15
|
-
* @returns Circunferência
|
|
16
|
-
*/
|
|
17
|
-
export const calculateCircumference = (radius: number): number => {
|
|
18
|
-
return 2 * Math.PI * radius;
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Calcula o offset para circular progress
|
|
23
|
-
* @param percentage - Percentual de progresso (0-100)
|
|
24
|
-
* @param circumference - Circunferência do círculo
|
|
25
|
-
* @returns Valor do offset
|
|
26
|
-
*/
|
|
27
|
-
export const calculateCircularProgressOffset = (
|
|
28
|
-
percentage: number,
|
|
29
|
-
circumference: number
|
|
30
|
-
): number => {
|
|
31
|
-
return circumference - (percentage / 100) * circumference;
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
/**
|
|
35
|
-
* Calcula raio de círculo baseado no tamanho e stroke
|
|
36
|
-
* @param size - Tamanho total
|
|
37
|
-
* @param strokeWidth - Largura do stroke
|
|
38
|
-
* @returns Raio calculado
|
|
39
|
-
*/
|
|
40
|
-
export const calculateRadius = (size: number, strokeWidth: number): number => {
|
|
41
|
-
return (size - strokeWidth) / 2;
|
|
42
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Calcula percentual de um valor em relação ao total
|
|
3
|
+
* @param current - Valor atual
|
|
4
|
+
* @param total - Valor total
|
|
5
|
+
* @returns Percentual (0-100)
|
|
6
|
+
*/
|
|
7
|
+
export const calculatePercentage = (current: number, total: number): number => {
|
|
8
|
+
if (total === 0) return 0;
|
|
9
|
+
return (current / total) * 100;
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Calcula a circunferência de um círculo
|
|
14
|
+
* @param radius - Raio do círculo
|
|
15
|
+
* @returns Circunferência
|
|
16
|
+
*/
|
|
17
|
+
export const calculateCircumference = (radius: number): number => {
|
|
18
|
+
return 2 * Math.PI * radius;
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Calcula o offset para circular progress
|
|
23
|
+
* @param percentage - Percentual de progresso (0-100)
|
|
24
|
+
* @param circumference - Circunferência do círculo
|
|
25
|
+
* @returns Valor do offset
|
|
26
|
+
*/
|
|
27
|
+
export const calculateCircularProgressOffset = (
|
|
28
|
+
percentage: number,
|
|
29
|
+
circumference: number
|
|
30
|
+
): number => {
|
|
31
|
+
return circumference - (percentage / 100) * circumference;
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Calcula raio de círculo baseado no tamanho e stroke
|
|
36
|
+
* @param size - Tamanho total
|
|
37
|
+
* @param strokeWidth - Largura do stroke
|
|
38
|
+
* @returns Raio calculado
|
|
39
|
+
*/
|
|
40
|
+
export const calculateRadius = (size: number, strokeWidth: number): number => {
|
|
41
|
+
return (size - strokeWidth) / 2;
|
|
42
|
+
};
|
package/src/middleware.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createAuthMiddleware } from './middlewares/create-auth-middleware';
|
|
2
|
-
export { createMiddlewareChain } from './middlewares/chain';
|
|
3
|
-
export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
|
|
4
|
-
export { continueChain, stopChain } from './middlewares/types';
|
|
1
|
+
export { createAuthMiddleware } from './middlewares/create-auth-middleware';
|
|
2
|
+
export { createMiddlewareChain } from './middlewares/chain';
|
|
3
|
+
export type { MiddlewareConfig, MiddlewareFunction, MiddlewareResult } from './middlewares/types';
|
|
4
|
+
export { continueChain, stopChain } from './middlewares/types';
|
|
@@ -1,107 +1,107 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
-
import { accountService } from '../services/account.service';
|
|
5
|
-
import type {
|
|
6
|
-
AccountUsersPaginationParams,
|
|
7
|
-
ChangePasswordRequest,
|
|
8
|
-
CreateAccountUserRequest,
|
|
9
|
-
UpdateAccountRequest,
|
|
10
|
-
UpdateAccountUserRequest,
|
|
11
|
-
} from '../types';
|
|
12
|
-
import { twoFactorService } from '../services/two-factor.service';
|
|
13
|
-
import { findUserById } from '../../users/action/find-user-by-id.action';
|
|
14
|
-
import { UserProfile } from '../../users/schema';
|
|
15
|
-
import { ApiError } from '../../../infra/api/types';
|
|
16
|
-
|
|
17
|
-
export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
|
|
18
|
-
return safeServerAction(async () => {
|
|
19
|
-
const { users, total } = await accountService.listAccountUsers(params);
|
|
20
|
-
return { data: users, total };
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export async function updateUserAction(user: UpdateAccountUserRequest) {
|
|
25
|
-
return safeServerAction(() => accountService.updateAccountUser(user));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
export async function updateAccountUserByIdAction(
|
|
29
|
-
userId: number,
|
|
30
|
-
user: UpdateAccountUserRequest
|
|
31
|
-
) {
|
|
32
|
-
return safeServerAction(() => accountService.updateAccountUserById(userId, user));
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export async function updateAccountAction(data: UpdateAccountRequest) {
|
|
36
|
-
return safeServerAction(async () => {
|
|
37
|
-
if (data.name !== undefined) {
|
|
38
|
-
const userResult = await findUserById();
|
|
39
|
-
if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
|
|
40
|
-
throw new ApiError(
|
|
41
|
-
'Apenas o proprietário da conta pode alterar o nome da empresa',
|
|
42
|
-
'FORBIDDEN',
|
|
43
|
-
403
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
return accountService.updateAccount(data);
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
export async function deleteAccountUserAction(userId: number) {
|
|
53
|
-
return safeServerAction(() => accountService.deleteAccountUser(userId));
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
export async function deleteAccountAction() {
|
|
57
|
-
return safeServerAction(() => accountService.deleteAccount());
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export async function createAccountUserAction(user: CreateAccountUserRequest) {
|
|
61
|
-
return safeServerAction(() => accountService.createAccountUser(user));
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
export async function changePasswordAction(data: ChangePasswordRequest) {
|
|
65
|
-
return safeServerAction(() => accountService.changePassword(data));
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export async function requestEmailChangeAction(newEmail: string) {
|
|
69
|
-
return safeServerAction(() => accountService.requestContactReset('email', newEmail));
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
export async function confirmEmailChangeAction(token: string, newEmail: string) {
|
|
73
|
-
return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
|
|
77
|
-
return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
|
|
81
|
-
return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
export async function generateTwoFactorAction() {
|
|
85
|
-
return safeServerAction(async () => {
|
|
86
|
-
const result = await twoFactorService.generate();
|
|
87
|
-
return {
|
|
88
|
-
qrcode: result.data.qrcode,
|
|
89
|
-
backupCodes: result.data.backup_codes,
|
|
90
|
-
};
|
|
91
|
-
});
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
export async function confirmTwoFactorAction(code: string) {
|
|
95
|
-
return safeServerAction(async () => {
|
|
96
|
-
await twoFactorService.confirm(code);
|
|
97
|
-
await accountService.updateAccountUser({ two_factor_authentication: true });
|
|
98
|
-
});
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
export async function disableTwoFactorAction(code: string) {
|
|
102
|
-
return safeServerAction(async () => {
|
|
103
|
-
await twoFactorService.verify(code);
|
|
104
|
-
await twoFactorService.disable();
|
|
105
|
-
await accountService.updateAccountUser({ two_factor_authentication: false });
|
|
106
|
-
});
|
|
107
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
+
import { accountService } from '../services/account.service';
|
|
5
|
+
import type {
|
|
6
|
+
AccountUsersPaginationParams,
|
|
7
|
+
ChangePasswordRequest,
|
|
8
|
+
CreateAccountUserRequest,
|
|
9
|
+
UpdateAccountRequest,
|
|
10
|
+
UpdateAccountUserRequest,
|
|
11
|
+
} from '../types';
|
|
12
|
+
import { twoFactorService } from '../services/two-factor.service';
|
|
13
|
+
import { findUserById } from '../../users/action/find-user-by-id.action';
|
|
14
|
+
import { UserProfile } from '../../users/schema';
|
|
15
|
+
import { ApiError } from '../../../infra/api/types';
|
|
16
|
+
|
|
17
|
+
export async function listAccountUsersAction(params?: AccountUsersPaginationParams) {
|
|
18
|
+
return safeServerAction(async () => {
|
|
19
|
+
const { users, total } = await accountService.listAccountUsers(params);
|
|
20
|
+
return { data: users, total };
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export async function updateUserAction(user: UpdateAccountUserRequest) {
|
|
25
|
+
return safeServerAction(() => accountService.updateAccountUser(user));
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export async function updateAccountUserByIdAction(
|
|
29
|
+
userId: number,
|
|
30
|
+
user: UpdateAccountUserRequest
|
|
31
|
+
) {
|
|
32
|
+
return safeServerAction(() => accountService.updateAccountUserById(userId, user));
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export async function updateAccountAction(data: UpdateAccountRequest) {
|
|
36
|
+
return safeServerAction(async () => {
|
|
37
|
+
if (data.name !== undefined) {
|
|
38
|
+
const userResult = await findUserById();
|
|
39
|
+
if (!userResult.success || userResult.data?.profile !== UserProfile.owner) {
|
|
40
|
+
throw new ApiError(
|
|
41
|
+
'Apenas o proprietário da conta pode alterar o nome da empresa',
|
|
42
|
+
'FORBIDDEN',
|
|
43
|
+
403
|
|
44
|
+
);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
return accountService.updateAccount(data);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export async function deleteAccountUserAction(userId: number) {
|
|
53
|
+
return safeServerAction(() => accountService.deleteAccountUser(userId));
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
export async function deleteAccountAction() {
|
|
57
|
+
return safeServerAction(() => accountService.deleteAccount());
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
export async function createAccountUserAction(user: CreateAccountUserRequest) {
|
|
61
|
+
return safeServerAction(() => accountService.createAccountUser(user));
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export async function changePasswordAction(data: ChangePasswordRequest) {
|
|
65
|
+
return safeServerAction(() => accountService.changePassword(data));
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export async function requestEmailChangeAction(newEmail: string) {
|
|
69
|
+
return safeServerAction(() => accountService.requestContactReset('email', newEmail));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export async function confirmEmailChangeAction(token: string, newEmail: string) {
|
|
73
|
+
return safeServerAction(() => accountService.confirmContactReset('email', token, newEmail));
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export async function requestPhoneChangeAction(newPhone: string, ddi?: string) {
|
|
77
|
+
return safeServerAction(() => accountService.requestContactReset('phone', newPhone, ddi));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export async function confirmPhoneChangeAction(token: string, newPhone: string, ddi?: string) {
|
|
81
|
+
return safeServerAction(() => accountService.confirmContactReset('phone', token, newPhone, ddi));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export async function generateTwoFactorAction() {
|
|
85
|
+
return safeServerAction(async () => {
|
|
86
|
+
const result = await twoFactorService.generate();
|
|
87
|
+
return {
|
|
88
|
+
qrcode: result.data.qrcode,
|
|
89
|
+
backupCodes: result.data.backup_codes,
|
|
90
|
+
};
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
export async function confirmTwoFactorAction(code: string) {
|
|
95
|
+
return safeServerAction(async () => {
|
|
96
|
+
await twoFactorService.confirm(code);
|
|
97
|
+
await accountService.updateAccountUser({ two_factor_authentication: true });
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
export async function disableTwoFactorAction(code: string) {
|
|
102
|
+
return safeServerAction(async () => {
|
|
103
|
+
await twoFactorService.verify(code);
|
|
104
|
+
await twoFactorService.disable();
|
|
105
|
+
await accountService.updateAccountUser({ two_factor_authentication: false });
|
|
106
|
+
});
|
|
107
|
+
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
-
import { accountService } from '../services/account.service';
|
|
5
|
-
import type { Account } from '../types';
|
|
6
|
-
|
|
7
|
-
export async function findCurrentAccount() {
|
|
8
|
-
return safeServerAction<Account>(() => accountService.findCurrentAccount());
|
|
9
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
+
import { accountService } from '../services/account.service';
|
|
5
|
+
import type { Account } from '../types';
|
|
6
|
+
|
|
7
|
+
export async function findCurrentAccount() {
|
|
8
|
+
return safeServerAction<Account>(() => accountService.findCurrentAccount());
|
|
9
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
-
import { currencyService } from '../services/currency.service';
|
|
5
|
-
|
|
6
|
-
export async function listCurrenciesAction() {
|
|
7
|
-
return safeServerAction(() => currencyService.fetchOptions());
|
|
8
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
+
import { currencyService } from '../services/currency.service';
|
|
5
|
+
|
|
6
|
+
export async function listCurrenciesAction() {
|
|
7
|
+
return safeServerAction(() => currencyService.fetchOptions());
|
|
8
|
+
}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
'use server';
|
|
2
|
-
|
|
3
|
-
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
-
import { timezoneService } from '../services/timezone.service';
|
|
5
|
-
|
|
6
|
-
export async function listTimezonesAction() {
|
|
7
|
-
return safeServerAction(() => timezoneService.fetchOptions());
|
|
8
|
-
}
|
|
1
|
+
'use server';
|
|
2
|
+
|
|
3
|
+
import { safeServerAction } from '../../../utils/safeServerAction';
|
|
4
|
+
import { timezoneService } from '../services/timezone.service';
|
|
5
|
+
|
|
6
|
+
export async function listTimezonesAction() {
|
|
7
|
+
return safeServerAction(() => timezoneService.fetchOptions());
|
|
8
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
'use client';
|
|
2
|
-
|
|
3
|
-
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { findCurrentAccount } from '../actions/find-current-account.action';
|
|
5
|
-
import { withAction } from '../../../utils/withAction';
|
|
6
|
-
|
|
7
|
-
export const ACCOUNT_QUERY_KEY = ['account'];
|
|
8
|
-
|
|
9
|
-
export function useCurrentAccount() {
|
|
10
|
-
return useQuery({
|
|
11
|
-
queryKey: ACCOUNT_QUERY_KEY,
|
|
12
|
-
queryFn: withAction(findCurrentAccount),
|
|
13
|
-
staleTime: 0,
|
|
14
|
-
gcTime: 10 * 60 * 1000,
|
|
15
|
-
retry: false,
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
export function useInvalidateAccount() {
|
|
20
|
-
const queryClient = useQueryClient();
|
|
21
|
-
return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
|
|
22
|
-
}
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { useQuery, useQueryClient } from '@tanstack/react-query';
|
|
4
|
+
import { findCurrentAccount } from '../actions/find-current-account.action';
|
|
5
|
+
import { withAction } from '../../../utils/withAction';
|
|
6
|
+
|
|
7
|
+
export const ACCOUNT_QUERY_KEY = ['account'];
|
|
8
|
+
|
|
9
|
+
export function useCurrentAccount() {
|
|
10
|
+
return useQuery({
|
|
11
|
+
queryKey: ACCOUNT_QUERY_KEY,
|
|
12
|
+
queryFn: withAction(findCurrentAccount),
|
|
13
|
+
staleTime: 0,
|
|
14
|
+
gcTime: 10 * 60 * 1000,
|
|
15
|
+
retry: false,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function useInvalidateAccount() {
|
|
20
|
+
const queryClient = useQueryClient();
|
|
21
|
+
return () => queryClient.invalidateQueries({ queryKey: ACCOUNT_QUERY_KEY });
|
|
22
|
+
}
|