@greatapps/common 1.1.70 → 1.1.73

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 (158) hide show
  1. package/dist/components/account/AccountModals.mjs +18 -0
  2. package/dist/components/account/AccountModals.mjs.map +1 -0
  3. package/dist/components/account/ConfigurationsMyAccountModal.mjs +132 -0
  4. package/dist/components/account/ConfigurationsMyAccountModal.mjs.map +1 -0
  5. package/dist/components/account/ConfirmDeleteAccountModal.mjs +45 -0
  6. package/dist/components/account/ConfirmDeleteAccountModal.mjs.map +1 -0
  7. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs +45 -0
  8. package/dist/components/account/ConfirmGlobalPreferencesModal.mjs.map +1 -0
  9. package/dist/components/account/DeleteAccountModal.mjs +123 -0
  10. package/dist/components/account/DeleteAccountModal.mjs.map +1 -0
  11. package/dist/components/account/DisableTwoFactorAuthModal.mjs +67 -0
  12. package/dist/components/account/DisableTwoFactorAuthModal.mjs.map +1 -0
  13. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs +42 -0
  14. package/dist/components/account/IsntPossibleDeleteAccountModal.mjs.map +1 -0
  15. package/dist/components/account/TwoFactorAuthModal.mjs +190 -0
  16. package/dist/components/account/TwoFactorAuthModal.mjs.map +1 -0
  17. package/dist/components/account/constants.mjs +29 -0
  18. package/dist/components/account/constants.mjs.map +1 -0
  19. package/dist/components/handlers/SearchParamsHandler.mjs +24 -0
  20. package/dist/components/handlers/SearchParamsHandler.mjs.map +1 -0
  21. package/dist/components/layouts/AppMobileNavBar.mjs +53 -0
  22. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -0
  23. package/dist/components/layouts/AppNavBar.mjs +73 -0
  24. package/dist/components/layouts/AppNavBar.mjs.map +1 -0
  25. package/dist/components/layouts/MainLayout.mjs +60 -0
  26. package/dist/components/layouts/MainLayout.mjs.map +1 -0
  27. package/dist/components/layouts/MdSideBarNavigation.mjs +39 -0
  28. package/dist/components/layouts/MdSideBarNavigation.mjs.map +1 -0
  29. package/dist/components/layouts/NavBar.mjs +64 -0
  30. package/dist/components/layouts/NavBar.mjs.map +1 -0
  31. package/dist/components/layouts/NavBarItem.mjs +23 -0
  32. package/dist/components/layouts/NavBarItem.mjs.map +1 -0
  33. package/dist/components/layouts/NotificationItem.mjs +11 -0
  34. package/dist/components/layouts/NotificationItem.mjs.map +1 -0
  35. package/dist/components/layouts/NotificationsPopover.mjs +96 -0
  36. package/dist/components/layouts/NotificationsPopover.mjs.map +1 -0
  37. package/dist/components/layouts/ProfilePopover.mjs +150 -0
  38. package/dist/components/layouts/ProfilePopover.mjs.map +1 -0
  39. package/dist/components/layouts/SideBarNavigation.mjs +22 -0
  40. package/dist/components/layouts/SideBarNavigation.mjs.map +1 -0
  41. package/dist/components/layouts/UsersSelectorPopover.mjs +236 -0
  42. package/dist/components/layouts/UsersSelectorPopover.mjs.map +1 -0
  43. package/dist/components/modals/ModalManager.mjs +19 -0
  44. package/dist/components/modals/ModalManager.mjs.map +1 -0
  45. package/dist/components/modals/Modals.mjs +20 -0
  46. package/dist/components/modals/Modals.mjs.map +1 -0
  47. package/dist/enums/AccountSectionType.mjs +11 -0
  48. package/dist/enums/AccountSectionType.mjs.map +1 -0
  49. package/dist/hooks/copy-to-clipboard.hook.mjs +39 -0
  50. package/dist/hooks/copy-to-clipboard.hook.mjs.map +1 -0
  51. package/dist/hooks/useCountdownTimer.mjs +29 -0
  52. package/dist/hooks/useCountdownTimer.mjs.map +1 -0
  53. package/dist/hooks/useIsMobile.mjs +18 -0
  54. package/dist/hooks/useIsMobile.mjs.map +1 -0
  55. package/dist/hooks/usePasswordVisibility.mjs +13 -0
  56. package/dist/hooks/usePasswordVisibility.mjs.map +1 -0
  57. package/dist/index.mjs +434 -0
  58. package/dist/index.mjs.map +1 -0
  59. package/dist/infra/api/client.mjs +122 -0
  60. package/dist/infra/api/client.mjs.map +1 -0
  61. package/dist/infra/api/types.mjs +31 -0
  62. package/dist/infra/api/types.mjs.map +1 -0
  63. package/dist/infra/utils/client-info.mjs +27 -0
  64. package/dist/infra/utils/client-info.mjs.map +1 -0
  65. package/dist/infra/utils/clsx.mjs +9 -0
  66. package/dist/infra/utils/clsx.mjs.map +1 -0
  67. package/dist/infra/utils/params.mjs +21 -0
  68. package/dist/infra/utils/params.mjs.map +1 -0
  69. package/dist/infra/utils/parser.mjs +24 -0
  70. package/dist/infra/utils/parser.mjs.map +1 -0
  71. package/dist/infra/utils/percentage.mjs +20 -0
  72. package/dist/infra/utils/percentage.mjs.map +1 -0
  73. package/dist/middlewares/chain.mjs +37 -0
  74. package/dist/middlewares/chain.mjs.map +1 -0
  75. package/dist/middlewares/create-auth-middleware.mjs +28 -0
  76. package/dist/middlewares/create-auth-middleware.mjs.map +1 -0
  77. package/dist/middlewares/types.mjs +11 -0
  78. package/dist/middlewares/types.mjs.map +1 -0
  79. package/dist/modules/accounts/types.mjs +1 -0
  80. package/dist/modules/accounts/types.mjs.map +1 -0
  81. package/dist/modules/auth/actions/login.action.mjs +1 -1
  82. package/dist/modules/auth/actions/login.action.mjs.map +1 -1
  83. package/dist/modules/auth/hooks/login.hook.mjs +5 -1
  84. package/dist/modules/auth/hooks/login.hook.mjs.map +1 -1
  85. package/dist/modules/auth/hooks/useUserQuery.mjs +2 -1
  86. package/dist/modules/auth/hooks/useUserQuery.mjs.map +1 -1
  87. package/dist/modules/auth/schema.mjs +1 -0
  88. package/dist/modules/auth/schema.mjs.map +1 -0
  89. package/dist/modules/auth/services/auth.service.mjs +2 -2
  90. package/dist/modules/auth/services/auth.service.mjs.map +1 -1
  91. package/dist/modules/ia-credits/types.mjs +25 -0
  92. package/dist/modules/ia-credits/types.mjs.map +1 -0
  93. package/dist/modules/projects/types.mjs +22 -0
  94. package/dist/modules/projects/types.mjs.map +1 -0
  95. package/dist/modules/subscriptions/types.mjs +57 -0
  96. package/dist/modules/subscriptions/types.mjs.map +1 -0
  97. package/dist/modules/users/action/list-messages.action.mjs +9 -0
  98. package/dist/modules/users/action/list-messages.action.mjs.map +1 -0
  99. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs +9 -0
  100. package/dist/modules/users/action/mark-all-messages-as-read.action.mjs.map +1 -0
  101. package/dist/modules/users/action/mark-message-as-read.action.mjs +9 -0
  102. package/dist/modules/users/action/mark-message-as-read.action.mjs.map +1 -0
  103. package/dist/modules/users/hooks/messages.hook.mjs +38 -0
  104. package/dist/modules/users/hooks/messages.hook.mjs.map +1 -0
  105. package/dist/modules/users/schema/messages.schema.mjs +21 -0
  106. package/dist/modules/users/schema/messages.schema.mjs.map +1 -0
  107. package/dist/modules/users/schema.mjs +11 -0
  108. package/dist/modules/users/schema.mjs.map +1 -0
  109. package/dist/modules/users/services/messages.service.mjs +35 -0
  110. package/dist/modules/users/services/messages.service.mjs.map +1 -0
  111. package/dist/modules/whitelabel/schema.mjs +1 -0
  112. package/dist/modules/whitelabel/schema.mjs.map +1 -0
  113. package/dist/providers/auth.provider.mjs +98 -0
  114. package/dist/providers/auth.provider.mjs.map +1 -0
  115. package/dist/providers/query.provider.mjs +41 -0
  116. package/dist/providers/query.provider.mjs.map +1 -0
  117. package/dist/providers/whitelabel.provider.mjs +34 -0
  118. package/dist/providers/whitelabel.provider.mjs.map +1 -0
  119. package/dist/server.mjs +74 -0
  120. package/dist/server.mjs.map +1 -0
  121. package/dist/store/useAccountModals.mjs +18 -0
  122. package/dist/store/useAccountModals.mjs.map +1 -0
  123. package/dist/store/useMdSidebarStore.mjs +11 -0
  124. package/dist/store/useMdSidebarStore.mjs.map +1 -0
  125. package/dist/store/useModalManager.mjs +75 -0
  126. package/dist/store/useModalManager.mjs.map +1 -0
  127. package/dist/utils/browser/clipboard.mjs +36 -0
  128. package/dist/utils/browser/clipboard.mjs.map +1 -0
  129. package/dist/utils/file/index.mjs +9 -0
  130. package/dist/utils/file/index.mjs.map +1 -0
  131. package/dist/utils/format/masks.mjs +56 -0
  132. package/dist/utils/format/masks.mjs.map +1 -0
  133. package/dist/utils/intl/locales.mjs +12 -0
  134. package/dist/utils/intl/locales.mjs.map +1 -0
  135. package/dist/utils/safeServerAction.mjs +22 -0
  136. package/dist/utils/safeServerAction.mjs.map +1 -0
  137. package/dist/utils/validators/account.mjs +26 -0
  138. package/dist/utils/validators/account.mjs.map +1 -0
  139. package/dist/utils/validators/common.mjs +47 -0
  140. package/dist/utils/validators/common.mjs.map +1 -0
  141. package/package.json +1 -1
  142. package/src/components/layouts/AppNavBar.tsx +0 -4
  143. package/src/components/layouts/NotificationItem.tsx +2 -2
  144. package/src/components/layouts/NotificationsPopover.tsx +25 -22
  145. package/src/index.ts +267 -117
  146. package/src/modules/auth/actions/login.action.ts +1 -1
  147. package/src/modules/auth/hooks/login.hook.tsx +6 -1
  148. package/src/modules/auth/hooks/useUserQuery.ts +2 -1
  149. package/src/modules/auth/schema.ts +6 -4
  150. package/src/modules/auth/services/auth.service.ts +2 -2
  151. package/src/modules/users/action/list-messages.action.ts +10 -0
  152. package/src/modules/users/action/mark-all-messages-as-read.action.ts +8 -0
  153. package/src/modules/users/action/mark-message-as-read.action.ts +8 -0
  154. package/src/modules/users/hooks/messages.hook.ts +39 -0
  155. package/src/modules/users/schema/messages.schema.ts +46 -0
  156. package/src/modules/users/services/messages.service.ts +48 -0
  157. package/src/providers/auth.provider.tsx +6 -9
  158. package/src/utils/safeServerAction.ts +27 -0
package/src/index.ts CHANGED
@@ -1,136 +1,286 @@
1
1
  // Types
2
- export * from './modules/auth/schema';
3
- export * from './modules/users/schema';
4
- export * from './modules/whitelabel/schema';
5
- export * from './infra/api/types';
2
+ export * from "./modules/auth/schema";
3
+ export * from "./modules/users/schema";
4
+ export * from "./modules/whitelabel/schema";
5
+ export * from "./infra/api/types";
6
6
 
7
7
  // Contexts
8
- export * from './providers/query.provider';
9
- export * from './providers/auth.provider';
10
- export * from './providers/whitelabel.provider';
8
+ export * from "./providers/query.provider";
9
+ export * from "./providers/auth.provider";
10
+ export * from "./providers/whitelabel.provider";
11
11
 
12
12
  // Hooks
13
- export { useListProjectUsers, LIST_PROJECT_USERS_QUERY_KEY, LIST_PROJECT_USERS_BASE_KEY } from './modules/projects/hooks/list-project-users.hook';
14
- export { useListAvailableUsers, LIST_AVAILABLE_USERS_QUERY_KEY, LIST_AVAILABLE_USERS_BASE_KEY } from './modules/projects/hooks/list-available-users.hook';
15
- export type { ProjectUser, AccountUser, AddRemoveProjectUsersParams, ListUsersParams, UsersPage } from './modules/projects/types';
16
- export { useUserQuery, useUserValidateSession, useInvalidateUser, useSetUserData, useTwoFactorVerify, USER_QUERY_KEY } from './modules/auth/hooks/useUserQuery';
17
- export { useSubscriptions, SUBSCRIPTIONS_QUERY_KEY } from './modules/subscriptions/hooks/list-subscriptions.hook';
18
- export { useActiveSubscription } from './modules/subscriptions/hooks/find-active-subscription.hook';
19
- export { useIaCredits } from './modules/ia-credits/hooks/ia-credits.hook';
20
- export type { IaCreditsSummary, IaCreditOperation } from './modules/ia-credits/types';
21
- export type { Subscription, SubscriptionItem, FindSubscriptionsParams } from './modules/subscriptions/types';
22
- export { SubscriptionSchema, SubscriptionItemSchema } from './modules/subscriptions/types';
23
- export { ADDON_IDS } from './modules/subscriptions/constants/addons.constants';
24
- export type { AddonKindEnum } from './modules/subscriptions/constants/addons.constants';
13
+ export {
14
+ useListProjectUsers,
15
+ LIST_PROJECT_USERS_QUERY_KEY,
16
+ LIST_PROJECT_USERS_BASE_KEY,
17
+ } from "./modules/projects/hooks/list-project-users.hook";
18
+ export {
19
+ useListAvailableUsers,
20
+ LIST_AVAILABLE_USERS_QUERY_KEY,
21
+ LIST_AVAILABLE_USERS_BASE_KEY,
22
+ } from "./modules/projects/hooks/list-available-users.hook";
23
+ export type {
24
+ ProjectUser,
25
+ AccountUser,
26
+ AddRemoveProjectUsersParams,
27
+ ListUsersParams,
28
+ UsersPage,
29
+ } from "./modules/projects/types";
30
+ export {
31
+ useUserQuery,
32
+ useUserValidateSession,
33
+ useInvalidateUser,
34
+ useSetUserData,
35
+ useTwoFactorVerify,
36
+ USER_QUERY_KEY,
37
+ } from "./modules/auth/hooks/useUserQuery";
38
+ export {
39
+ useSubscriptions,
40
+ SUBSCRIPTIONS_QUERY_KEY,
41
+ } from "./modules/subscriptions/hooks/list-subscriptions.hook";
42
+ export { useActiveSubscription } from "./modules/subscriptions/hooks/find-active-subscription.hook";
43
+ export { useIaCredits } from "./modules/ia-credits/hooks/ia-credits.hook";
44
+ export type {
45
+ IaCreditsSummary,
46
+ IaCreditOperation,
47
+ } from "./modules/ia-credits/types";
48
+ export type {
49
+ Subscription,
50
+ SubscriptionItem,
51
+ FindSubscriptionsParams,
52
+ } from "./modules/subscriptions/types";
53
+ export {
54
+ SubscriptionSchema,
55
+ SubscriptionItemSchema,
56
+ } from "./modules/subscriptions/types";
57
+ export { ADDON_IDS } from "./modules/subscriptions/constants/addons.constants";
58
+ export type { AddonKindEnum } from "./modules/subscriptions/constants/addons.constants";
25
59
 
26
60
  // Providers
27
- export { QueryProvider } from './providers/query.provider';
61
+ export { QueryProvider } from "./providers/query.provider";
28
62
 
29
63
  // Middleware
30
- export { createAuthMiddleware } from './middlewares/create-auth-middleware';
31
- export { createMiddlewareChain } from './middlewares/chain';
32
- export { continueChain, stopChain } from './middlewares/types';
33
- export type { MiddlewareFunction, MiddlewareConfig, MiddlewareResult } from './middlewares/types';
64
+ export { createAuthMiddleware } from "./middlewares/create-auth-middleware";
65
+ export { createMiddlewareChain } from "./middlewares/chain";
66
+ export { continueChain, stopChain } from "./middlewares/types";
67
+ export type {
68
+ MiddlewareFunction,
69
+ MiddlewareConfig,
70
+ MiddlewareResult,
71
+ } from "./middlewares/types";
34
72
 
35
73
  // Utils
36
- export { cn } from './infra/utils/clsx';
37
- export { buildQueryParams } from './infra/utils/params';
38
- export { parseSchema, parseResult } from './infra/utils/parser';
74
+ export { cn } from "./infra/utils/clsx";
75
+ export { buildQueryParams } from "./infra/utils/params";
76
+ export { parseSchema, parseResult } from "./infra/utils/parser";
39
77
 
40
78
  // Layout
41
- export { MainLayout, MainLayoutContent, MainLayoutSpacer, MainLayoutMain } from './components/layouts/MainLayout';
42
- export { NavBar } from './components/layouts/NavBar';
43
- export type { NavBarProps } from './components/layouts/NavBar';
44
- export { AppNavBar } from './components/layouts/AppNavBar';
45
- export type { AppNavBarProps } from './components/layouts/AppNavBar';
46
- export { AppMobileNavBar } from './components/layouts/AppMobileNavBar';
47
- export type { AppMobileNavBarProps } from './components/layouts/AppMobileNavBar';
48
- export { SideBarNavigation } from './components/layouts/SideBarNavigation';
49
- export { MdSideBarNavigation } from './components/layouts/MdSideBarNavigation';
50
- export { NotificationItem } from './components/layouts/NotificationItem';
51
- export type { NotificationItemProps } from './components/layouts/NotificationItem';
52
- export { NotificationsPopover } from './components/layouts/NotificationsPopover';
53
- export type { NotificationsPopoverProps, NotificationData } from './components/layouts/NotificationsPopover';
54
- export { UsersSelectorPopover } from './components/layouts/UsersSelectorPopover';
55
- export type { UsersSelectorPopoverProps } from './components/layouts/UsersSelectorPopover';
56
- export { ProfilePopover } from './components/layouts/ProfilePopover';
57
- export type { ProfilePopoverProps, ProfileMenuItem } from './components/layouts/ProfilePopover';
58
- export { NavBarItem } from './components/layouts/NavBarItem';
59
- export type { NavBarItemProps } from './components/layouts/NavBarItem';
79
+ export {
80
+ MainLayout,
81
+ MainLayoutContent,
82
+ MainLayoutSpacer,
83
+ MainLayoutMain,
84
+ } from "./components/layouts/MainLayout";
85
+ export { NavBar } from "./components/layouts/NavBar";
86
+ export type { NavBarProps } from "./components/layouts/NavBar";
87
+ export { AppNavBar } from "./components/layouts/AppNavBar";
88
+ export type { AppNavBarProps } from "./components/layouts/AppNavBar";
89
+ export { AppMobileNavBar } from "./components/layouts/AppMobileNavBar";
90
+ export type { AppMobileNavBarProps } from "./components/layouts/AppMobileNavBar";
91
+ export { SideBarNavigation } from "./components/layouts/SideBarNavigation";
92
+ export { MdSideBarNavigation } from "./components/layouts/MdSideBarNavigation";
93
+ export { NotificationItem } from "./components/layouts/NotificationItem";
94
+ export type { NotificationItemProps } from "./components/layouts/NotificationItem";
95
+ export { NotificationsPopover } from "./components/layouts/NotificationsPopover";
96
+ export type { NotificationsPopoverProps } from "./components/layouts/NotificationsPopover";
97
+ export { UsersSelectorPopover } from "./components/layouts/UsersSelectorPopover";
98
+ export type { UsersSelectorPopoverProps } from "./components/layouts/UsersSelectorPopover";
99
+ export { ProfilePopover } from "./components/layouts/ProfilePopover";
100
+ export type {
101
+ ProfilePopoverProps,
102
+ ProfileMenuItem,
103
+ } from "./components/layouts/ProfilePopover";
104
+ export { NavBarItem } from "./components/layouts/NavBarItem";
105
+ export type { NavBarItemProps } from "./components/layouts/NavBarItem";
60
106
 
61
107
  // UI - Buttons
62
- export { Button, buttonVariants } from './components/ui/buttons/Button';
63
- export { CopyButton } from './components/ui/buttons/CopyButton';
64
- export { default as CancelButton } from './components/ui/buttons/CancelButton';
108
+ export { Button, buttonVariants } from "./components/ui/buttons/Button";
109
+ export { CopyButton } from "./components/ui/buttons/CopyButton";
110
+ export { default as CancelButton } from "./components/ui/buttons/CancelButton";
65
111
 
66
112
  // UI - Data Display
67
- export { Accordion, AccordionItem, AccordionTrigger, AccordionContent } from './components/ui/data-display/Accordion';
68
- export { Badge, badgeVariants } from './components/ui/data-display/Badge';
69
- export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent } from './components/ui/data-display/Card';
70
- export { Pagination, PaginationContent, PaginationLink, PaginationItem, PaginationPrevious, PaginationNext, PaginationEllipsis } from './components/ui/data-display/Pagination';
71
- export { ScrollArea, ScrollBar } from './components/ui/data-display/ScrollArea';
72
- export { Separator } from './components/ui/data-display/Separator';
73
- export { Table, TableHeader, TableBody, TableFooter, TableHead, TableRow, TableCell, TableCaption } from './components/ui/data-display/Table';
74
- export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/ui/data-display/Tabs';
75
- export { UserAvatar } from './components/ui/data-display/UserAvatar';
76
- export type { UserAvatarProps } from './components/ui/data-display/UserAvatar';
113
+ export {
114
+ Accordion,
115
+ AccordionItem,
116
+ AccordionTrigger,
117
+ AccordionContent,
118
+ } from "./components/ui/data-display/Accordion";
119
+ export { Badge, badgeVariants } from "./components/ui/data-display/Badge";
120
+ export {
121
+ Card,
122
+ CardHeader,
123
+ CardFooter,
124
+ CardTitle,
125
+ CardAction,
126
+ CardDescription,
127
+ CardContent,
128
+ } from "./components/ui/data-display/Card";
129
+ export {
130
+ Pagination,
131
+ PaginationContent,
132
+ PaginationLink,
133
+ PaginationItem,
134
+ PaginationPrevious,
135
+ PaginationNext,
136
+ PaginationEllipsis,
137
+ } from "./components/ui/data-display/Pagination";
138
+ export { ScrollArea, ScrollBar } from "./components/ui/data-display/ScrollArea";
139
+ export { Separator } from "./components/ui/data-display/Separator";
140
+ export {
141
+ Table,
142
+ TableHeader,
143
+ TableBody,
144
+ TableFooter,
145
+ TableHead,
146
+ TableRow,
147
+ TableCell,
148
+ TableCaption,
149
+ } from "./components/ui/data-display/Table";
150
+ export {
151
+ Tabs,
152
+ TabsList,
153
+ TabsTrigger,
154
+ TabsContent,
155
+ } from "./components/ui/data-display/Tabs";
156
+ export { UserAvatar } from "./components/ui/data-display/UserAvatar";
157
+ export type { UserAvatarProps } from "./components/ui/data-display/UserAvatar";
77
158
 
78
159
  // UI - Feedback
79
- export { default as CircularProgress } from './components/ui/feedback/CircularProgress';
80
- export { default as DefaultCircularProgress } from './components/ui/feedback/DefaultCircularProgress';
81
- export { Progress } from './components/ui/feedback/Progress';
82
- export { LoadingOverlay } from './components/ui/feedback/LoadingOverlay';
83
- export { Toast, toastVariants, toastIconContainerVariants } from './components/ui/feedback/Toast';
84
- export type { ToastProps } from './components/ui/feedback/Toast';
160
+ export { default as CircularProgress } from "./components/ui/feedback/CircularProgress";
161
+ export { default as DefaultCircularProgress } from "./components/ui/feedback/DefaultCircularProgress";
162
+ export { Progress } from "./components/ui/feedback/Progress";
163
+ export { LoadingOverlay } from "./components/ui/feedback/LoadingOverlay";
164
+ export {
165
+ Toast,
166
+ toastVariants,
167
+ toastIconContainerVariants,
168
+ } from "./components/ui/feedback/Toast";
169
+ export type { ToastProps } from "./components/ui/feedback/Toast";
85
170
 
86
171
  // UI - Form
87
- export { Calendar, CalendarDayButton } from './components/ui/form/Calendar';
88
- export { Checkbox } from './components/ui/form/Checkbox';
89
- export { DatePicker } from './components/ui/form/DatePicker';
90
- export { DateRangePicker } from './components/ui/form/DateRangePicker';
91
- export { Input } from './components/ui/form/Input';
92
- export { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator } from './components/ui/form/InputOtp';
93
- export { RadioGroup, RadioGroupItem } from './components/ui/form/RadioGroup';
94
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue } from './components/ui/form/Select';
95
- export { Switch } from './components/ui/form/Switch';
96
- export { Textarea } from './components/ui/form/Textarea';
172
+ export { Calendar, CalendarDayButton } from "./components/ui/form/Calendar";
173
+ export { Checkbox } from "./components/ui/form/Checkbox";
174
+ export { DatePicker } from "./components/ui/form/DatePicker";
175
+ export { DateRangePicker } from "./components/ui/form/DateRangePicker";
176
+ export { Input } from "./components/ui/form/Input";
177
+ export {
178
+ InputOTP,
179
+ InputOTPGroup,
180
+ InputOTPSlot,
181
+ InputOTPSeparator,
182
+ } from "./components/ui/form/InputOtp";
183
+ export { RadioGroup, RadioGroupItem } from "./components/ui/form/RadioGroup";
184
+ export {
185
+ Select,
186
+ SelectContent,
187
+ SelectGroup,
188
+ SelectItem,
189
+ SelectLabel,
190
+ SelectScrollDownButton,
191
+ SelectScrollUpButton,
192
+ SelectSeparator,
193
+ SelectTrigger,
194
+ SelectValue,
195
+ } from "./components/ui/form/Select";
196
+ export { Switch } from "./components/ui/form/Switch";
197
+ export { Textarea } from "./components/ui/form/Textarea";
97
198
 
98
199
  // UI - Overlay
99
- export { Command, CommandDialog, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator } from './components/ui/overlay/Command';
100
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger } from './components/ui/overlay/Dialog';
101
- export { Popover, PopoverTrigger, PopoverContent, PopoverAnchor } from './components/ui/overlay/Popover';
102
- export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetHeader, SheetFooter, SheetTitle, SheetDescription } from './components/ui/overlay/Sheet';
103
- export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/ui/overlay/Tooltip';
200
+ export {
201
+ Command,
202
+ CommandDialog,
203
+ CommandInput,
204
+ CommandList,
205
+ CommandEmpty,
206
+ CommandGroup,
207
+ CommandItem,
208
+ CommandShortcut,
209
+ CommandSeparator,
210
+ } from "./components/ui/overlay/Command";
211
+ export {
212
+ Dialog,
213
+ DialogClose,
214
+ DialogContent,
215
+ DialogDescription,
216
+ DialogFooter,
217
+ DialogHeader,
218
+ DialogOverlay,
219
+ DialogPortal,
220
+ DialogTitle,
221
+ DialogTrigger,
222
+ } from "./components/ui/overlay/Dialog";
223
+ export {
224
+ Popover,
225
+ PopoverTrigger,
226
+ PopoverContent,
227
+ PopoverAnchor,
228
+ } from "./components/ui/overlay/Popover";
229
+ export {
230
+ Sheet,
231
+ SheetTrigger,
232
+ SheetClose,
233
+ SheetContent,
234
+ SheetHeader,
235
+ SheetFooter,
236
+ SheetTitle,
237
+ SheetDescription,
238
+ } from "./components/ui/overlay/Sheet";
239
+ export {
240
+ Tooltip,
241
+ TooltipTrigger,
242
+ TooltipContent,
243
+ TooltipProvider,
244
+ } from "./components/ui/overlay/Tooltip";
104
245
 
105
246
  // Store
106
- export { useMdSidebarStore } from './store/useMdSidebarStore';
107
- export { useModalManager } from './store/useModalManager';
108
- export type { ModalData } from './store/useModalManager';
247
+ export { useMdSidebarStore } from "./store/useMdSidebarStore";
248
+ export { useModalManager } from "./store/useModalManager";
249
+ export type { ModalData } from "./store/useModalManager";
109
250
 
110
251
  // Enums
111
- export { AccountSectionType } from './enums/AccountSectionType';
252
+ export { AccountSectionType } from "./enums/AccountSectionType";
112
253
 
113
254
  // Hooks
114
- export { default as usePasswordVisibility } from './hooks/usePasswordVisibility';
115
- export { default as useCountdownTimer } from './hooks/useCountdownTimer';
116
- export { default as useIsMobile } from './hooks/useIsMobile';
255
+ export { default as usePasswordVisibility } from "./hooks/usePasswordVisibility";
256
+ export { default as useCountdownTimer } from "./hooks/useCountdownTimer";
257
+ export { default as useIsMobile } from "./hooks/useIsMobile";
117
258
 
118
259
  // Utils
119
- export { formatPhone, formatTimer, formatFullName, formatCPF, formatCardNumber } from './utils/format/masks';
120
- export { timezoneService } from './modules/accounts/services/timezone.service';
121
- export type { TimezoneOption } from './modules/accounts/services/timezone.service';
122
- export { buildLocaleOptions, LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS } from './utils/intl/locales';
123
- export type { LocaleOption } from './utils/intl/locales';
124
- export { copyToClipboard, readFromClipboard } from './utils/browser/clipboard';
260
+ export {
261
+ formatPhone,
262
+ formatTimer,
263
+ formatFullName,
264
+ formatCPF,
265
+ formatCardNumber,
266
+ } from "./utils/format/masks";
267
+ export { timezoneService } from "./modules/accounts/services/timezone.service";
268
+ export type { TimezoneOption } from "./modules/accounts/services/timezone.service";
269
+ export {
270
+ buildLocaleOptions,
271
+ LANGUAGE_OPTIONS as LOCALE_LANGUAGE_OPTIONS,
272
+ } from "./utils/intl/locales";
273
+ export type { LocaleOption } from "./utils/intl/locales";
274
+ export { copyToClipboard, readFromClipboard } from "./utils/browser/clipboard";
125
275
 
126
276
  // UI - Form (new widgets)
127
- export { FormField } from './components/ui/form/FormField';
128
- export { SelectField } from './components/ui/form/SelectField';
129
- export { ComboboxField } from './components/ui/form/ComboboxField';
130
- export type { ComboboxOption } from './components/ui/form/ComboboxField';
131
- export { default as PhoneInput } from './components/ui/form/PhoneInput';
132
- export { default as SwitchOptionFieldWithIcon } from './components/ui/form/SwitchOptionFieldWithIcon';
133
- export { TextAreaField } from './components/ui/form/TextAreaField';
277
+ export { FormField } from "./components/ui/form/FormField";
278
+ export { SelectField } from "./components/ui/form/SelectField";
279
+ export { ComboboxField } from "./components/ui/form/ComboboxField";
280
+ export type { ComboboxOption } from "./components/ui/form/ComboboxField";
281
+ export { default as PhoneInput } from "./components/ui/form/PhoneInput";
282
+ export { default as SwitchOptionFieldWithIcon } from "./components/ui/form/SwitchOptionFieldWithIcon";
283
+ export { TextAreaField } from "./components/ui/form/TextAreaField";
134
284
 
135
285
  // Account Module - Hooks
136
286
  export {
@@ -139,7 +289,7 @@ export {
139
289
  useUpdateAccountUserById,
140
290
  useDeleteAccountUser,
141
291
  useDeleteAccount,
142
- } from './modules/accounts/hooks/useAccountManagement';
292
+ } from "./modules/accounts/hooks/useAccountManagement";
143
293
 
144
294
  // Account Types
145
295
  export type {
@@ -153,24 +303,24 @@ export type {
153
303
  TwoFactorGenerateResult,
154
304
  TwoFactorActionResult,
155
305
  ContactResetResult,
156
- } from './modules/accounts/types';
306
+ } from "./modules/accounts/types";
157
307
 
158
- export { default as AccountModals } from './components/account/AccountModals';
159
- export { useAccountModals } from './store/useAccountModals';
160
- export type { AccountModalsConfig } from './store/useAccountModals';
308
+ export { default as AccountModals } from "./components/account/AccountModals";
309
+ export { useAccountModals } from "./store/useAccountModals";
310
+ export type { AccountModalsConfig } from "./store/useAccountModals";
161
311
 
162
- export { ModalManager } from './components/modals/ModalManager';
163
- export { Modals } from './components/modals/Modals';
312
+ export { ModalManager } from "./components/modals/ModalManager";
313
+ export { Modals } from "./components/modals/Modals";
164
314
 
165
- export { default as TwoFactorAuthModal } from './components/account/TwoFactorAuthModal';
166
- export { default as DisableTwoFactorAuthModal } from './components/account/DisableTwoFactorAuthModal';
167
- export { default as ConfirmGlobalPreferencesModal } from './components/account/ConfirmGlobalPreferencesModal';
168
- export { MyProfileSection } from './components/account/sections/MyProfileSection';
169
- export { PreferencesSection } from './components/account/sections/PreferencesSection';
170
- export { SecuritySection } from './components/account/sections/SecuritySection';
171
- export { ChangePasswordSection } from './components/account/sections/ChangePasswordSection';
172
- export { ChangeEmailModal } from './components/account/sections/ChangeEmailModal';
173
- export { ChangePhoneModal } from './components/account/sections/ChangePhoneModal';
315
+ export { default as TwoFactorAuthModal } from "./components/account/TwoFactorAuthModal";
316
+ export { default as DisableTwoFactorAuthModal } from "./components/account/DisableTwoFactorAuthModal";
317
+ export { default as ConfirmGlobalPreferencesModal } from "./components/account/ConfirmGlobalPreferencesModal";
318
+ export { MyProfileSection } from "./components/account/sections/MyProfileSection";
319
+ export { PreferencesSection } from "./components/account/sections/PreferencesSection";
320
+ export { SecuritySection } from "./components/account/sections/SecuritySection";
321
+ export { ChangePasswordSection } from "./components/account/sections/ChangePasswordSection";
322
+ export { ChangeEmailModal } from "./components/account/sections/ChangeEmailModal";
323
+ export { ChangePhoneModal } from "./components/account/sections/ChangePhoneModal";
174
324
 
175
325
  // Account Constants
176
326
  export {
@@ -179,4 +329,4 @@ export {
179
329
  TIME_FORMAT_OPTIONS,
180
330
  NOTIFICATION_TYPES,
181
331
  LANGUAGE_OPTIONS,
182
- } from './components/account/constants';
332
+ } from "./components/account/constants";
@@ -13,7 +13,7 @@ export async function loginAction(
13
13
  return await authService.login(credentials, clientInfo);
14
14
  } catch (error) {
15
15
  return {
16
- status: 0,
16
+ result: 'error',
17
17
  message: (error as ApiError).message || "An error occurred during login",
18
18
  };
19
19
  }
@@ -2,9 +2,14 @@
2
2
 
3
3
  import { useMutation } from "@tanstack/react-query";
4
4
  import { loginAction } from "../actions/login.action";
5
+ import { safeServerAction } from "../../../utils/safeServerAction";
6
+ import { LoginRequest, LoginSuccessResponse } from "../schema";
5
7
 
6
8
  export function useLogin() {
7
9
  return useMutation({
8
- mutationFn: loginAction,
10
+ mutationFn: async (credentials: LoginRequest): Promise<LoginSuccessResponse> => {
11
+ const data = await safeServerAction(loginAction, credentials);
12
+ return data as LoginSuccessResponse;
13
+ },
9
14
  });
10
15
  }
@@ -2,6 +2,7 @@
2
2
 
3
3
  import { useMutation, useQuery, useQueryClient, UseQueryOptions } from '@tanstack/react-query';
4
4
  import { User } from '../../users/schema';
5
+ import { safeServerAction } from '../../../utils/safeServerAction';
5
6
 
6
7
  export const USER_QUERY_KEY = ['user'];
7
8
 
@@ -44,7 +45,7 @@ export function useTwoFactorVerify() {
44
45
  return useMutation({
45
46
  mutationFn: async ({ cookie, code }: { cookie: string; code: string }) => {
46
47
  const { verifyTwoFactorAction } = await import('../actions/verify-two-factor.action');
47
- return verifyTwoFactorAction(cookie, code);
48
+ return safeServerAction(verifyTwoFactorAction, cookie, code);
48
49
  },
49
50
  onSuccess: () => {
50
51
  queryClient.invalidateQueries({ queryKey: USER_QUERY_KEY });
@@ -17,17 +17,18 @@ export interface LoginApiResponse {
17
17
  }
18
18
 
19
19
  export type LoginResponse =
20
- | { status: 0; message: string }
21
- | { status: 1; twoFactorRequired: true; cookie: string }
20
+ | { result: 'error'; message: string }
21
+ | { result: 'two_factor_required'; cookie: string }
22
22
  | {
23
- status: 1;
24
- twoFactorRequired?: false;
23
+ result: 'success';
25
24
  user: User;
26
25
  accessToken: string;
27
26
  refreshToken: string;
28
27
  expiresAt: string;
29
28
  };
30
29
 
30
+ export type LoginSuccessResponse = Exclude<LoginResponse, { result: 'error' }>;
31
+
31
32
  export interface TwoFactorRequest {
32
33
  location: GeoLocation;
33
34
  ip: string;
@@ -46,6 +47,7 @@ export interface TwoFactorApiResponse {
46
47
 
47
48
  export interface TwoFactorResponse {
48
49
  status: 0 | 1;
50
+ message?: string;
49
51
  }
50
52
 
51
53
  export interface GeoLocation {
@@ -75,13 +75,13 @@ class AuthService {
75
75
  }
76
76
 
77
77
  if (response.two_factor_required) {
78
- return { status: 1, twoFactorRequired: true, cookie: response.cookie };
78
+ return { result: 'two_factor_required', cookie: response.cookie };
79
79
  }
80
80
 
81
81
  await this.setAuthCookie(response.cookie);
82
82
 
83
83
  return {
84
- status: 1,
84
+ result: 'success',
85
85
  user: {} as User,
86
86
  accessToken: response.cookie,
87
87
  refreshToken: "",
@@ -0,0 +1,10 @@
1
+ 'use server';
2
+
3
+ import { messagesService } from '../services/messages.service';
4
+ import type { FindMessagesParams, ListMessagesApiResponse } from '../schema/messages.schema';
5
+
6
+ export async function listMessagesAction(
7
+ params?: Partial<FindMessagesParams>
8
+ ): Promise<ListMessagesApiResponse> {
9
+ return messagesService.listMessages(params);
10
+ }
@@ -0,0 +1,8 @@
1
+ 'use server';
2
+
3
+ import { messagesService } from '../services/messages.service';
4
+ import type { MarkAllAsReadApiResponse } from '../schema/messages.schema';
5
+
6
+ export async function markAllMessagesAsReadAction(): Promise<MarkAllAsReadApiResponse> {
7
+ return messagesService.markAllAsRead();
8
+ }
@@ -0,0 +1,8 @@
1
+ 'use server';
2
+
3
+ import { messagesService } from '../services/messages.service';
4
+ import type { MarkAsReadApiResponse } from '../schema/messages.schema';
5
+
6
+ export async function markMessageAsReadAction(messageId: string): Promise<MarkAsReadApiResponse> {
7
+ return messagesService.markAsRead(messageId);
8
+ }
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+
3
+ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
4
+ import { listMessagesAction } from '../action/list-messages.action';
5
+ import { markMessageAsReadAction } from '../action/mark-message-as-read.action';
6
+ import { markAllMessagesAsReadAction } from '../action/mark-all-messages-as-read.action';
7
+ import { safeServerAction } from '../../../utils/safeServerAction';
8
+ import type { FindMessagesParams } from '../schema/messages.schema';
9
+
10
+ export const MESSAGES_QUERY_KEY = ['messages'];
11
+
12
+ export function useMessages(params?: Partial<FindMessagesParams>) {
13
+ return useQuery({
14
+ queryKey: [...MESSAGES_QUERY_KEY, params],
15
+ queryFn: () => safeServerAction(listMessagesAction, params),
16
+ });
17
+ }
18
+
19
+ export function useMarkMessageAsRead() {
20
+ const queryClient = useQueryClient();
21
+
22
+ return useMutation({
23
+ mutationFn: (messageId: string) => safeServerAction(markMessageAsReadAction, messageId),
24
+ onSuccess: () => {
25
+ queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });
26
+ },
27
+ });
28
+ }
29
+
30
+ export function useMarkAllMessagesAsRead() {
31
+ const queryClient = useQueryClient();
32
+
33
+ return useMutation({
34
+ mutationFn: () => safeServerAction(markAllMessagesAsReadAction),
35
+ onSuccess: () => {
36
+ queryClient.invalidateQueries({ queryKey: MESSAGES_QUERY_KEY });
37
+ },
38
+ });
39
+ }