@greatapps/common 1.1.784 → 1.1.786

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 (121) hide show
  1. package/dist/components/layouts/AppMobileNavBar.mjs +5 -64
  2. package/dist/components/layouts/AppMobileNavBar.mjs.map +1 -1
  3. package/dist/components/layouts/AppNavBar.mjs +0 -2
  4. package/dist/components/layouts/AppNavBar.mjs.map +1 -1
  5. package/dist/components/layouts/NavBar.mjs +52 -111
  6. package/dist/components/layouts/NavBar.mjs.map +1 -1
  7. package/dist/components/modals/cards/AddCardModal.mjs +3 -2
  8. package/dist/components/modals/cards/AddCardModal.mjs.map +1 -1
  9. package/dist/components/ui/form/PhoneInput.mjs +1 -1
  10. package/dist/components/ui/form/PhoneInput.mjs.map +1 -1
  11. package/dist/handlers.mjs +0 -2
  12. package/dist/handlers.mjs.map +1 -1
  13. package/dist/i18n/messages/en-us.mjs +1 -3
  14. package/dist/i18n/messages/en-us.mjs.map +1 -1
  15. package/dist/i18n/messages/es-es.mjs +1 -3
  16. package/dist/i18n/messages/es-es.mjs.map +1 -1
  17. package/dist/i18n/messages/pt-br.mjs +1 -3
  18. package/dist/i18n/messages/pt-br.mjs.map +1 -1
  19. package/dist/index.mjs +3 -10
  20. package/dist/index.mjs.map +1 -1
  21. package/dist/infra/api/client.mjs +1 -5
  22. package/dist/infra/api/client.mjs.map +1 -1
  23. package/dist/infra/api/types.mjs +1 -1
  24. package/dist/infra/api/types.mjs.map +1 -1
  25. package/dist/infra/route/safe-route-handler.mjs +1 -4
  26. package/dist/infra/route/safe-route-handler.mjs.map +1 -1
  27. package/dist/middlewares/create-auth-middleware.mjs +11 -1
  28. package/dist/middlewares/create-auth-middleware.mjs.map +1 -1
  29. package/dist/modules/auth/utils/assert-account-not-frozen.mjs +5 -6
  30. package/dist/modules/auth/utils/assert-account-not-frozen.mjs.map +1 -1
  31. package/dist/modules/auth/utils/assert-management-subscription.mjs +14 -7
  32. package/dist/modules/auth/utils/assert-management-subscription.mjs.map +1 -1
  33. package/dist/modules/auth/utils/assert-paid-subscription.mjs +12 -7
  34. package/dist/modules/auth/utils/assert-paid-subscription.mjs.map +1 -1
  35. package/dist/modules/auth/utils/assert-subscription-addon.mjs +10 -2
  36. package/dist/modules/auth/utils/assert-subscription-addon.mjs.map +1 -1
  37. package/dist/modules/plans/hooks/use-plan-by-id.hook.mjs.map +1 -1
  38. package/dist/modules/subscriptions/actions/update-subscription-payment.action.mjs.map +1 -1
  39. package/dist/modules/subscriptions/constants/subscription.constants.mjs +0 -2
  40. package/dist/modules/subscriptions/constants/subscription.constants.mjs.map +1 -1
  41. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs +13 -2
  42. package/dist/modules/subscriptions/hooks/find-active-subscription.hook.mjs.map +1 -1
  43. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs +10 -2
  44. package/dist/modules/subscriptions/hooks/update-subscription-payment.hook.mjs.map +1 -1
  45. package/dist/modules/subscriptions/services/subscriptions.service.mjs +12 -27
  46. package/dist/modules/subscriptions/services/subscriptions.service.mjs.map +1 -1
  47. package/dist/modules/subscriptions/types/subscription.type.mjs.map +1 -1
  48. package/dist/modules/subscriptions/utils/has-active-paid-subscription.mjs +1 -1
  49. package/dist/modules/subscriptions/utils/has-active-paid-subscription.mjs.map +1 -1
  50. package/dist/modules/subscriptions/utils/has-paid-subscription.mjs +1 -1
  51. package/dist/modules/subscriptions/utils/has-paid-subscription.mjs.map +1 -1
  52. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs +9 -6
  53. package/dist/modules/whitelabel/actions/find-whitelabel.action.mjs.map +1 -1
  54. package/dist/modules/whitelabel/services/whitelabel.service.mjs +28 -2
  55. package/dist/modules/whitelabel/services/whitelabel.service.mjs.map +1 -1
  56. package/dist/providers/auth.provider.mjs +12 -9
  57. package/dist/providers/auth.provider.mjs.map +1 -1
  58. package/dist/server.mjs +0 -4
  59. package/dist/server.mjs.map +1 -1
  60. package/dist/store/useMdSidebarStore.mjs +4 -17
  61. package/dist/store/useMdSidebarStore.mjs.map +1 -1
  62. package/dist/utils/redirect.mjs +10 -0
  63. package/dist/utils/redirect.mjs.map +1 -1
  64. package/dist/utils/safeServerAction.mjs +1 -4
  65. package/dist/utils/safeServerAction.mjs.map +1 -1
  66. package/dist/utils/withAction.mjs +1 -2
  67. package/dist/utils/withAction.mjs.map +1 -1
  68. package/package.json +1 -1
  69. package/src/components/layouts/AppMobileNavBar.tsx +6 -90
  70. package/src/components/layouts/AppNavBar.tsx +1 -5
  71. package/src/components/layouts/NavBar.tsx +66 -160
  72. package/src/components/modals/cards/AddCardModal.tsx +15 -2
  73. package/src/components/ui/form/PhoneInput.tsx +1 -1
  74. package/src/handlers.ts +0 -1
  75. package/src/i18n/messages/en-us.ts +0 -2
  76. package/src/i18n/messages/es-es.ts +0 -2
  77. package/src/i18n/messages/pt-br.ts +0 -2
  78. package/src/index.ts +3 -8
  79. package/src/infra/api/client.ts +3 -11
  80. package/src/infra/api/types.ts +5 -7
  81. package/src/infra/route/safe-route-handler.ts +1 -4
  82. package/src/middlewares/create-auth-middleware.ts +12 -1
  83. package/src/modules/auth/utils/assert-account-not-frozen.ts +6 -7
  84. package/src/modules/auth/utils/assert-management-subscription.ts +23 -15
  85. package/src/modules/auth/utils/assert-paid-subscription.ts +15 -7
  86. package/src/modules/auth/utils/assert-subscription-addon.ts +12 -2
  87. package/src/modules/plans/hooks/use-plan-by-id.hook.ts +1 -1
  88. package/src/modules/subscriptions/actions/update-subscription-payment.action.ts +6 -1
  89. package/src/modules/subscriptions/constants/subscription.constants.ts +0 -3
  90. package/src/modules/subscriptions/hooks/find-active-subscription.hook.ts +17 -7
  91. package/src/modules/subscriptions/hooks/update-subscription-payment.hook.ts +21 -3
  92. package/src/modules/subscriptions/services/subscriptions.service.ts +46 -38
  93. package/src/modules/subscriptions/types/subscription.type.ts +27 -2
  94. package/src/modules/subscriptions/utils/has-active-paid-subscription.ts +2 -1
  95. package/src/modules/subscriptions/utils/has-paid-subscription.ts +2 -1
  96. package/src/modules/whitelabel/actions/find-whitelabel.action.ts +13 -9
  97. package/src/modules/whitelabel/services/whitelabel.service.ts +34 -2
  98. package/src/providers/auth.provider.tsx +13 -10
  99. package/src/server.ts +0 -2
  100. package/src/store/useMdSidebarStore.ts +5 -20
  101. package/src/utils/redirect.ts +10 -0
  102. package/src/utils/safeServerAction.ts +6 -4
  103. package/src/utils/withAction.ts +1 -2
  104. package/dist/components/layouts/GreatDomainIcon.mjs +0 -40
  105. package/dist/components/layouts/GreatDomainIcon.mjs.map +0 -1
  106. package/dist/modules/subscriptions/actions/get-current-subscription.action.mjs +0 -10
  107. package/dist/modules/subscriptions/actions/get-current-subscription.action.mjs.map +0 -1
  108. package/dist/modules/subscriptions/handlers/current-subscription.handler.mjs +0 -17
  109. package/dist/modules/subscriptions/handlers/current-subscription.handler.mjs.map +0 -1
  110. package/dist/modules/subscriptions/hooks/use-current-subscription.hook.mjs +0 -28
  111. package/dist/modules/subscriptions/hooks/use-current-subscription.hook.mjs.map +0 -1
  112. package/dist/modules/subscriptions/utils/group-subscriptions-by-product.mjs +0 -16
  113. package/dist/modules/subscriptions/utils/group-subscriptions-by-product.mjs.map +0 -1
  114. package/dist/modules/subscriptions/utils/read-current-subscription.mjs +0 -21
  115. package/dist/modules/subscriptions/utils/read-current-subscription.mjs.map +0 -1
  116. package/src/components/layouts/GreatDomainIcon.tsx +0 -43
  117. package/src/modules/subscriptions/actions/get-current-subscription.action.ts +0 -8
  118. package/src/modules/subscriptions/handlers/current-subscription.handler.ts +0 -16
  119. package/src/modules/subscriptions/hooks/use-current-subscription.hook.ts +0 -38
  120. package/src/modules/subscriptions/utils/group-subscriptions-by-product.ts +0 -23
  121. package/src/modules/subscriptions/utils/read-current-subscription.ts +0 -34
@@ -1,10 +1,8 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import Image from "next/image";
4
- import { useTranslations } from "next-intl";
5
4
  import { IconMenu2, IconX } from "@tabler/icons-react";
6
5
  import { ProfilePopover } from "./ProfilePopover";
7
- import { GreatDomainIcon } from "./GreatDomainIcon";
8
6
  import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
9
7
  import { useMobileNavbarSheet } from "../../store/useMobileNavbarSheet";
10
8
  import {
@@ -16,12 +14,10 @@ function AppMobileNavBar({
16
14
  activeApp,
17
15
  onLogoClick,
18
16
  onAppIconClick,
19
- onDomainIconClick,
20
17
  extraLeftSlot,
21
18
  menuItems = [],
22
19
  showMenuToggle = true
23
20
  }) {
24
- const translate = useTranslations();
25
21
  const { isOpen, toggle } = useMobileNavbarSheet();
26
22
  const { whitelabel } = useWhitelabel();
27
23
  const isDefaultWl = useIsDefaultWhitelabel();
@@ -29,7 +25,6 @@ function AppMobileNavBar({
29
25
  const wlName = whitelabel?.name || "Great";
30
26
  const isGappsActive = activeApp === "gapps";
31
27
  const isGpagesActive = activeApp === "gpages";
32
- const isGdomainActive = activeApp === "gdomain";
33
28
  const wlIcon = whitelabel?.secondary_logo ? /* @__PURE__ */ jsx(
34
29
  Image,
35
30
  {
@@ -70,8 +65,8 @@ function AppMobileNavBar({
70
65
  }
71
66
  );
72
67
  return /* @__PURE__ */ jsxs("div", { className: "fixed top-0 left-0 right-0 flex md:hidden items-center justify-between p-4 bg-white z-50 border-b border-gray-200", children: [
73
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 min-w-0", children: [
74
- /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", children: [
68
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
69
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
75
70
  /* @__PURE__ */ jsxs(Tooltip, { children: [
76
71
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
77
72
  "div",
@@ -106,7 +101,7 @@ function AppMobileNavBar({
106
101
  }
107
102
  )
108
103
  ] }),
109
- /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", children: [
104
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
110
105
  /* @__PURE__ */ jsxs(Tooltip, { children: [
111
106
  /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
112
107
  "div",
@@ -165,63 +160,9 @@ function AppMobileNavBar({
165
160
  }
166
161
  )
167
162
  ] }),
168
- onDomainIconClick ? /* @__PURE__ */ jsxs("div", { className: "relative shrink-0", children: [
169
- /* @__PURE__ */ jsxs(Tooltip, { children: [
170
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
171
- "div",
172
- {
173
- "aria-label": isDefaultWl ? translate("common.layout.navbar.greatDomain") : translate("common.layout.navbar.domains"),
174
- className: cn(
175
- "size-10 rounded-[10px] flex items-center justify-center border-2 ring-2 transition-colors duration-300",
176
- isGdomainActive ? isDefaultWl ? "bg-[#EDE9FE] border-white ring-[#C092FF]" : "border-white ring-transparent" : isDefaultWl ? "hover:bg-gray-100 border-transparent ring-transparent" : "border-transparent ring-transparent",
177
- "cursor-pointer"
178
- ),
179
- style: !isDefaultWl ? {
180
- backgroundColor: primaryColor,
181
- boxShadow: isGdomainActive ? `0 0 0 2px ${primaryColor}40` : void 0,
182
- opacity: !isGdomainActive ? 0.2 : void 0
183
- } : void 0,
184
- onClick: onDomainIconClick,
185
- children: isDefaultWl ? /* @__PURE__ */ jsx(GreatDomainIcon, { active: isGdomainActive }) : /* @__PURE__ */ jsxs(
186
- "svg",
187
- {
188
- xmlns: "http://www.w3.org/2000/svg",
189
- width: "24",
190
- height: "24",
191
- viewBox: "0 0 24 24",
192
- fill: "none",
193
- stroke: "white",
194
- strokeWidth: "2",
195
- strokeLinecap: "round",
196
- strokeLinejoin: "round",
197
- children: [
198
- /* @__PURE__ */ jsx("path", { d: "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" }),
199
- /* @__PURE__ */ jsx("path", { d: "M3.6 9h16.8" }),
200
- /* @__PURE__ */ jsx("path", { d: "M3.6 15h16.8" }),
201
- /* @__PURE__ */ jsx("path", { d: "M11.5 3a17 17 0 0 0 0 18" }),
202
- /* @__PURE__ */ jsx("path", { d: "M12.5 3a17 17 0 0 1 0 18" })
203
- ]
204
- }
205
- )
206
- }
207
- ) }),
208
- /* @__PURE__ */ jsx(TooltipContent, { side: "bottom", children: isDefaultWl ? translate("common.layout.navbar.greatDomain") : translate("common.layout.navbar.domains") })
209
- ] }),
210
- /* @__PURE__ */ jsx(
211
- "div",
212
- {
213
- className: cn(
214
- "absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300",
215
- isDefaultWl ? "bg-[#984DFF]" : "",
216
- isGdomainActive ? "opacity-100" : "opacity-0"
217
- ),
218
- style: !isDefaultWl ? { backgroundColor: primaryColor } : void 0
219
- }
220
- )
221
- ] }) : null,
222
- extraLeftSlot ? /* @__PURE__ */ jsx("div", { className: "min-w-0 shrink [&>*]:max-w-full", children: extraLeftSlot }) : null
163
+ extraLeftSlot
223
164
  ] }),
224
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 shrink-0", children: [
165
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5", children: [
225
166
  /* @__PURE__ */ jsx(
226
167
  ProfilePopover,
227
168
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/layouts/AppMobileNavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode } from \"react\";\nimport Image from \"next/image\";\nimport { useTranslations } from \"next-intl\";\nimport { IconMenu2, IconX } from \"@tabler/icons-react\";\nimport { ProfilePopover } from \"./ProfilePopover\";\nimport { GreatDomainIcon } from \"./GreatDomainIcon\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\";\nimport { useMobileNavbarSheet } from \"../../store/useMobileNavbarSheet\";\nimport {\n useWhitelabel,\n useIsDefaultWhitelabel,\n} from \"../../providers/whitelabel.provider\";\nimport { cn } from \"../../infra/utils/clsx\";\nimport type { ProfileMenuItem } from \"./ProfilePopover\";\n\nexport interface AppMobileNavBarProps {\n /** Which app is currently active — controls which icon gets the indicator */\n activeApp?: \"gapps\" | \"gpages\" | \"gdomain\";\n /** Called when the GreatApps logo is clicked */\n onLogoClick?: () => void;\n /** Called when the app icon (e.g. GreatPages) is clicked */\n onAppIconClick?: () => void;\n /** Called when the GreatDomain icon is clicked; without it the icon is not rendered (app flag) */\n onDomainIconClick?: () => void;\n /** Extra slot rendered after the app icon (e.g. project selector) */\n extraLeftSlot?: ReactNode;\n menuItems?: ProfileMenuItem[];\n showMenuToggle?: boolean;\n}\n\nexport function AppMobileNavBar({\n activeApp,\n onLogoClick,\n onAppIconClick,\n onDomainIconClick,\n extraLeftSlot,\n menuItems = [],\n showMenuToggle = true,\n}: AppMobileNavBarProps) {\n const translate = useTranslations();\n const { isOpen, toggle } = useMobileNavbarSheet();\n const { whitelabel } = useWhitelabel();\n const isDefaultWl = useIsDefaultWhitelabel();\n const primaryColor = whitelabel?.general?.primary_color;\n const wlName = whitelabel?.name || \"Great\";\n\n const isGappsActive = activeApp === \"gapps\";\n const isGpagesActive = activeApp === \"gpages\";\n const isGdomainActive = activeApp === \"gdomain\";\n\n const wlIcon = whitelabel?.secondary_logo ? (\n <Image\n className=\"size-7 object-contain\"\n src={`${process.env.NEXT_PUBLIC_STORAGE_URL}/${whitelabel.secondary_logo}`}\n alt={`${wlName} Logo`}\n width={28}\n height={28}\n />\n ) : (\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center transition-opacity duration-300\",\n !isGappsActive && \"opacity-20\",\n )}\n style={{ backgroundColor: primaryColor }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n </svg>\n </div>\n );\n\n return (\n <div className=\"fixed top-0 left-0 right-0 flex md:hidden items-center justify-between p-4 bg-white z-50 border-b border-gray-200\">\n <div className=\"flex items-center gap-1.5 min-w-0\">\n {/* GreatApps logo */}\n <div className=\"relative shrink-0\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n className={cn(\n \"flex items-center justify-center\",\n onLogoClick ? \"cursor-pointer\" : \"\",\n )}\n onClick={onLogoClick}\n >\n {isDefaultWl ? (\n <div className=\"size-10 flex items-center justify-center rounded-lg\">\n <Image\n src=\"/icons/great-icon.svg\"\n alt=\"Great Icon\"\n width={28}\n height={28}\n />\n </div>\n ) : (\n wlIcon\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">{wlName}</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-gray-950\" : \"\",\n isGappsActive ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n {/* GreatPages icon */}\n <div className=\"relative shrink-0\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n isGpagesActive\n ? isDefaultWl\n ? \"bg-cyan-100 border-white ring-cyan-300\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n onAppIconClick ? \"cursor-pointer\" : \"\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow: isGpagesActive\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: !isGpagesActive ? 0.2 : undefined,\n }\n : undefined\n }\n onClick={onAppIconClick}\n >\n {isDefaultWl ? (\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={24}\n height={24}\n />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 8h16\" />\n <path d=\"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12\" />\n <path d=\"M8 4v4\" />\n </svg>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n {isDefaultWl ? \"GreatPages\" : \"Páginas\"}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-cyan-300\" : \"\",\n isGpagesActive ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n {/* GreatDomain icon */}\n {onDomainIconClick ? (\n <div className=\"relative shrink-0\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n aria-label={\n isDefaultWl\n ? translate(\"common.layout.navbar.greatDomain\")\n : translate(\"common.layout.navbar.domains\")\n }\n className={cn(\n \"size-10 rounded-[10px] flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n isGdomainActive\n ? isDefaultWl\n ? \"bg-[#EDE9FE] border-white ring-[#C092FF]\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n \"cursor-pointer\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow: isGdomainActive\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: !isGdomainActive ? 0.2 : undefined,\n }\n : undefined\n }\n onClick={onDomainIconClick}\n >\n {isDefaultWl ? (\n <GreatDomainIcon active={isGdomainActive} />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0\" />\n <path d=\"M3.6 9h16.8\" />\n <path d=\"M3.6 15h16.8\" />\n <path d=\"M11.5 3a17 17 0 0 0 0 18\" />\n <path d=\"M12.5 3a17 17 0 0 1 0 18\" />\n </svg>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n {isDefaultWl\n ? translate(\"common.layout.navbar.greatDomain\")\n : translate(\"common.layout.navbar.domains\")}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-[#984DFF]\" : \"\",\n isGdomainActive ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n ) : null}\n\n {extraLeftSlot ? (\n <div className=\"min-w-0 shrink [&>*]:max-w-full\">{extraLeftSlot}</div>\n ) : null}\n </div>\n <div className=\"flex items-center gap-1.5 shrink-0\">\n <ProfilePopover\n side=\"bottom\"\n align=\"end\"\n contentClassName=\"\"\n menuItems={menuItems}\n />\n {showMenuToggle && (\n <button\n className=\"size-10 flex items-center justify-center border border-zinc-200 rounded-lg bg-white cursor-pointer\"\n onClick={toggle}\n >\n {isOpen ? (\n <IconX size={18} className=\"text-zinc-950\" />\n ) : (\n <IconMenu2 size={18} className=\"text-zinc-950\" />\n )}\n </button>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/layouts/AppMobileNavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { ReactNode } from \"react\";\nimport Image from \"next/image\";\nimport { IconMenu2, IconX } from \"@tabler/icons-react\";\nimport { ProfilePopover } from \"./ProfilePopover\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\";\nimport { useMobileNavbarSheet } from \"../../store/useMobileNavbarSheet\";\nimport {\n useWhitelabel,\n useIsDefaultWhitelabel,\n} from \"../../providers/whitelabel.provider\";\nimport { cn } from \"../../infra/utils/clsx\";\nimport type { ProfileMenuItem } from \"./ProfilePopover\";\n\nexport interface AppMobileNavBarProps {\n /** Which app is currently active — controls which icon gets the indicator */\n activeApp?: \"gapps\" | \"gpages\";\n /** Called when the GreatApps logo is clicked */\n onLogoClick?: () => void;\n /** Called when the app icon (e.g. GreatPages) is clicked */\n onAppIconClick?: () => void;\n /** Extra slot rendered after the app icon (e.g. project selector) */\n extraLeftSlot?: ReactNode;\n menuItems?: ProfileMenuItem[];\n showMenuToggle?: boolean;\n}\n\nexport function AppMobileNavBar({\n activeApp,\n onLogoClick,\n onAppIconClick,\n extraLeftSlot,\n menuItems = [],\n showMenuToggle = true,\n}: AppMobileNavBarProps) {\n const { isOpen, toggle } = useMobileNavbarSheet();\n const { whitelabel } = useWhitelabel();\n const isDefaultWl = useIsDefaultWhitelabel();\n const primaryColor = whitelabel?.general?.primary_color;\n const wlName = whitelabel?.name || \"Great\";\n\n const isGappsActive = activeApp === \"gapps\";\n const isGpagesActive = activeApp === \"gpages\";\n\n const wlIcon = whitelabel?.secondary_logo ? (\n <Image\n className=\"size-7 object-contain\"\n src={`${process.env.NEXT_PUBLIC_STORAGE_URL}/${whitelabel.secondary_logo}`}\n alt={`${wlName} Logo`}\n width={28}\n height={28}\n />\n ) : (\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center transition-opacity duration-300\",\n !isGappsActive && \"opacity-20\",\n )}\n style={{ backgroundColor: primaryColor }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n </svg>\n </div>\n );\n\n return (\n <div className=\"fixed top-0 left-0 right-0 flex md:hidden items-center justify-between p-4 bg-white z-50 border-b border-gray-200\">\n <div className=\"flex items-center gap-1.5\">\n {/* GreatApps logo */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n className={cn(\n \"flex items-center justify-center\",\n onLogoClick ? \"cursor-pointer\" : \"\",\n )}\n onClick={onLogoClick}\n >\n {isDefaultWl ? (\n <div className=\"size-10 flex items-center justify-center rounded-lg\">\n <Image\n src=\"/icons/great-icon.svg\"\n alt=\"Great Icon\"\n width={28}\n height={28}\n />\n </div>\n ) : (\n wlIcon\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">{wlName}</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-gray-950\" : \"\",\n isGappsActive ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n {/* GreatPages icon */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n isGpagesActive\n ? isDefaultWl\n ? \"bg-cyan-100 border-white ring-cyan-300\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n onAppIconClick ? \"cursor-pointer\" : \"\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow: isGpagesActive\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: !isGpagesActive ? 0.2 : undefined,\n }\n : undefined\n }\n onClick={onAppIconClick}\n >\n {isDefaultWl ? (\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={24}\n height={24}\n />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 8h16\" />\n <path d=\"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12\" />\n <path d=\"M8 4v4\" />\n </svg>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent side=\"bottom\">\n {isDefaultWl ? \"GreatPages\" : \"Páginas\"}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -bottom-[17px] left-1/2 -translate-x-1/2 w-5 h-[3px] rounded-t-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-cyan-300\" : \"\",\n isGpagesActive ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n {extraLeftSlot}\n </div>\n <div className=\"flex items-center gap-1.5\">\n <ProfilePopover\n side=\"bottom\"\n align=\"end\"\n contentClassName=\"\"\n menuItems={menuItems}\n />\n {showMenuToggle && (\n <button\n className=\"size-10 flex items-center justify-center border border-zinc-200 rounded-lg bg-white cursor-pointer\"\n onClick={toggle}\n >\n {isOpen ? (\n <IconX size={18} className=\"text-zinc-950\" />\n ) : (\n <IconMenu2 size={18} className=\"text-zinc-950\" />\n )}\n </button>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":";AA8CI,cAeE,YAfF;AA3CJ,OAAO,WAAW;AAClB,SAAS,WAAW,aAAa;AACjC,SAAS,sBAAsB;AAC/B,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,SAAS,4BAA4B;AACrC;AAAA,EACE;AAAA,EACA;AAAA,OACK;AACP,SAAS,UAAU;AAgBZ,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,CAAC;AAAA,EACb,iBAAiB;AACnB,GAAyB;AACvB,QAAM,EAAE,QAAQ,OAAO,IAAI,qBAAqB;AAChD,QAAM,EAAE,WAAW,IAAI,cAAc;AACrC,QAAM,cAAc,uBAAuB;AAC3C,QAAM,eAAe,YAAY,SAAS;AAC1C,QAAM,SAAS,YAAY,QAAQ;AAEnC,QAAM,gBAAgB,cAAc;AACpC,QAAM,iBAAiB,cAAc;AAErC,QAAM,SAAS,YAAY,iBACzB;AAAA,IAAC;AAAA;AAAA,MACC,WAAU;AAAA,MACV,KAAK,GAAG,QAAQ,IAAI,uBAAuB,IAAI,WAAW,cAAc;AAAA,MACxE,KAAK,GAAG,MAAM;AAAA,MACd,OAAO;AAAA,MACP,QAAQ;AAAA;AAAA,EACV,IAEA;AAAA,IAAC;AAAA;AAAA,MACC,WAAW;AAAA,QACT;AAAA,QACA,CAAC,iBAAiB;AAAA,MACpB;AAAA,MACA,OAAO,EAAE,iBAAiB,aAAa;AAAA,MAEvC;AAAA,QAAC;AAAA;AAAA,UACC,OAAM;AAAA,UACN,OAAM;AAAA,UACN,QAAO;AAAA,UACP,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAY;AAAA,UACZ,eAAc;AAAA,UACd,gBAAe;AAAA,UAEf;AAAA,gCAAC,UAAK,GAAE,gFAA+E;AAAA,YACvF,oBAAC,UAAK,GAAE,iFAAgF;AAAA,YACxF,oBAAC,UAAK,GAAE,iFAAgF;AAAA,YACxF,oBAAC,UAAK,GAAE,kFAAiF;AAAA;AAAA;AAAA,MAC3F;AAAA;AAAA,EACF;AAGF,SACE,qBAAC,SAAI,WAAU,qHACb;AAAA,yBAAC,SAAI,WAAU,6BAEb;AAAA,2BAAC,SAAI,WAAU,YACb;AAAA,6BAAC,WACC;AAAA,8BAAC,kBAAe,SAAO,MACrB;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,cAAc,mBAAmB;AAAA,cACnC;AAAA,cACA,SAAS;AAAA,cAER,wBACC,oBAAC,SAAI,WAAU,uDACb;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAI;AAAA,kBACJ,KAAI;AAAA,kBACJ,OAAO;AAAA,kBACP,QAAQ;AAAA;AAAA,cACV,GACF,IAEA;AAAA;AAAA,UAEJ,GACF;AAAA,UACA,oBAAC,kBAAe,MAAK,UAAU,kBAAO;AAAA,WACxC;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,cAAc,gBAAgB;AAAA,cAC9B,gBAAgB,gBAAgB;AAAA,YAClC;AAAA,YACA,OAAO,CAAC,cAAc,EAAE,iBAAiB,aAAa,IAAI;AAAA;AAAA,QAC5D;AAAA,SACF;AAAA,MAGA,qBAAC,SAAI,WAAU,YACb;AAAA,6BAAC,WACC;AAAA,8BAAC,kBAAe,SAAO,MACrB;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,iBACI,cACE,2CACA,kCACF,cACE,0DACA;AAAA,gBACN,iBAAiB,mBAAmB;AAAA,cACtC;AAAA,cACA,OACE,CAAC,cACG;AAAA,gBACE,iBAAiB;AAAA,gBACjB,WAAW,iBACP,aAAa,YAAY,OACzB;AAAA,gBACJ,SAAS,CAAC,iBAAiB,MAAM;AAAA,cACnC,IACA;AAAA,cAEN,SAAS;AAAA,cAER,wBACC;AAAA,gBAAC;AAAA;AAAA,kBACC,KAAI;AAAA,kBACJ,KAAI;AAAA,kBACJ,OAAO;AAAA,kBACP,QAAQ;AAAA;AAAA,cACV,IAEA;AAAA,gBAAC;AAAA;AAAA,kBACC,OAAM;AAAA,kBACN,OAAM;AAAA,kBACN,QAAO;AAAA,kBACP,SAAQ;AAAA,kBACR,MAAK;AAAA,kBACL,QAAO;AAAA,kBACP,aAAY;AAAA,kBACZ,eAAc;AAAA,kBACd,gBAAe;AAAA,kBAEf;AAAA,wCAAC,UAAK,GAAE,WAAU;AAAA,oBAClB,oBAAC,UAAK,GAAE,oFAAmF;AAAA,oBAC3F,oBAAC,UAAK,GAAE,UAAS;AAAA;AAAA;AAAA,cACnB;AAAA;AAAA,UAEJ,GACF;AAAA,UACA,oBAAC,kBAAe,MAAK,UAClB,wBAAc,eAAe,cAChC;AAAA,WACF;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,WAAW;AAAA,cACT;AAAA,cACA,cAAc,gBAAgB;AAAA,cAC9B,iBAAiB,gBAAgB;AAAA,YACnC;AAAA,YACA,OAAO,CAAC,cAAc,EAAE,iBAAiB,aAAa,IAAI;AAAA;AAAA,QAC5D;AAAA,SACF;AAAA,MAEC;AAAA,OACH;AAAA,IACA,qBAAC,SAAI,WAAU,6BACb;AAAA;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,OAAM;AAAA,UACN,kBAAiB;AAAA,UACjB;AAAA;AAAA,MACF;AAAA,MACC,kBACC;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,SAAS;AAAA,UAER,mBACC,oBAAC,SAAM,MAAM,IAAI,WAAU,iBAAgB,IAE3C,oBAAC,aAAU,MAAM,IAAI,WAAU,iBAAgB;AAAA;AAAA,MAEnD;AAAA,OAEJ;AAAA,KACF;AAEJ;","names":[]}
@@ -6,7 +6,6 @@ import { NotificationsPopover } from "./NotificationsPopover";
6
6
  function AppNavBar({
7
7
  logoHref,
8
8
  appIconHref,
9
- domainIconHref,
10
9
  activeApp,
11
10
  showExpandButton = false,
12
11
  onExpandClick,
@@ -18,7 +17,6 @@ function AppNavBar({
18
17
  {
19
18
  logoHref,
20
19
  appIconHref,
21
- domainIconHref,
22
20
  activeApp,
23
21
  showExpandButton,
24
22
  onExpandClick,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/layouts/AppNavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { NavBar } from \"./NavBar\";\nimport { ProfilePopover } from \"./ProfilePopover\";\nimport { NotificationsPopover } from \"./NotificationsPopover\";\nimport type { ProfileMenuItem } from \"./ProfilePopover\";\n\nexport interface AppNavBarProps {\n logoHref: string;\n appIconHref: string;\n /** Sem href o ícone do GreatDomain não é renderizado: é a flag do app. */\n domainIconHref?: string;\n /** Which app is currently active — controls which icon gets the indicator */\n activeApp?: \"gapps\" | \"gpages\" | \"gdomain\";\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n menuItems?: ProfileMenuItem[];\n onNotificationsViewAll?: () => void;\n}\n\nexport function AppNavBar({\n logoHref,\n appIconHref,\n domainIconHref,\n activeApp,\n showExpandButton = false,\n onExpandClick,\n menuItems = [],\n onNotificationsViewAll,\n}: AppNavBarProps) {\n return (\n <NavBar\n logoHref={logoHref}\n appIconHref={appIconHref}\n domainIconHref={domainIconHref}\n activeApp={activeApp}\n showExpandButton={showExpandButton}\n onExpandClick={onExpandClick}\n >\n <NotificationsPopover onViewAll={onNotificationsViewAll} />\n <ProfilePopover menuItems={menuItems} />\n </NavBar>\n );\n}\n"],"mappings":";AA+BI,SAQE,KARF;AA7BJ,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AAgB9B,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA,YAAY,CAAC;AAAA,EACb;AACF,GAAmB;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,wBAAqB,WAAW,wBAAwB;AAAA,QACzD,oBAAC,kBAAe,WAAsB;AAAA;AAAA;AAAA,EACxC;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../src/components/layouts/AppNavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport { NavBar } from \"./NavBar\";\nimport { ProfilePopover } from \"./ProfilePopover\";\nimport { NotificationsPopover } from \"./NotificationsPopover\";\nimport type { ProfileMenuItem } from \"./ProfilePopover\";\n\nexport interface AppNavBarProps {\n logoHref: string;\n appIconHref: string;\n /** Which app is currently active — controls which icon gets the indicator */\n activeApp?: \"gapps\" | \"gpages\";\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n menuItems?: ProfileMenuItem[];\n onNotificationsViewAll?: () => void;\n}\n\nexport function AppNavBar({\n logoHref,\n appIconHref,\n activeApp,\n showExpandButton = false,\n onExpandClick,\n menuItems = [],\n onNotificationsViewAll,\n}: AppNavBarProps) {\n return (\n <NavBar\n logoHref={logoHref}\n appIconHref={appIconHref}\n activeApp={activeApp}\n showExpandButton={showExpandButton}\n onExpandClick={onExpandClick}\n >\n <NotificationsPopover onViewAll={onNotificationsViewAll} />\n <ProfilePopover menuItems={menuItems} />\n </NavBar>\n );\n}\n"],"mappings":";AA4BI,SAOE,KAPF;AA1BJ,SAAS,cAAc;AACvB,SAAS,sBAAsB;AAC/B,SAAS,4BAA4B;AAc9B,SAAS,UAAU;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AAAA,EACnB;AAAA,EACA,YAAY,CAAC;AAAA,EACb;AACF,GAAmB;AACjB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MAEA;AAAA,4BAAC,wBAAqB,WAAW,wBAAwB;AAAA,QACzD,oBAAC,kBAAe,WAAsB;AAAA;AAAA;AAAA,EACxC;AAEJ;","names":[]}
@@ -5,13 +5,11 @@ import Link from "next/link";
5
5
  import { useTranslations } from "next-intl";
6
6
  import { IconChevronRight } from "@tabler/icons-react";
7
7
  import { Separator } from "../ui/data-display/Separator";
8
- import { GreatDomainIcon } from "./GreatDomainIcon";
9
8
  import { Tooltip, TooltipContent, TooltipTrigger } from "../ui/overlay/Tooltip";
10
9
  import {
11
10
  useDesktopSidebarStore,
12
11
  useDesktopSidebarHydration
13
12
  } from "../../store/useDesktopSidebarStore";
14
- import { useMdSidebarHydration } from "../../store/useMdSidebarStore";
15
13
  import {
16
14
  useWhitelabel,
17
15
  useIsDefaultWhitelabel
@@ -20,7 +18,6 @@ import { cn } from "../../infra/utils/clsx";
20
18
  function NavBar({
21
19
  logoHref,
22
20
  appIconHref,
23
- domainIconHref,
24
21
  activeApp,
25
22
  showExpandButton = false,
26
23
  onExpandClick,
@@ -30,7 +27,6 @@ function NavBar({
30
27
  const translate = useTranslations();
31
28
  const { isExpanded: isDesktopExpanded, toggle: toggleDesktop } = useDesktopSidebarStore();
32
29
  useDesktopSidebarHydration();
33
- useMdSidebarHydration();
34
30
  const { whitelabel } = useWhitelabel();
35
31
  const isDefaultWl = useIsDefaultWhitelabel();
36
32
  const primaryColor = whitelabel?.general?.primary_color;
@@ -133,118 +129,63 @@ function NavBar({
133
129
  /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: translate("common.layout.navbar.expandMenu") })
134
130
  ] })
135
131
  ] }),
136
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2 items-center", children: [
137
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
138
- /* @__PURE__ */ jsxs(Tooltip, { children: [
139
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
140
- Link,
141
- {
142
- href: appIconHref,
143
- className: cn(
144
- "size-10 rounded-lg cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300",
145
- activeApp === "gpages" ? isDefaultWl ? "bg-cyan-100 border-white ring-cyan-300" : "border-white ring-transparent" : isDefaultWl ? "hover:bg-gray-100 border-transparent ring-transparent" : "border-transparent ring-transparent"
146
- ),
147
- style: !isDefaultWl ? {
148
- backgroundColor: primaryColor,
149
- boxShadow: activeApp === "gpages" ? `0 0 0 2px ${primaryColor}40` : void 0,
150
- opacity: activeApp !== "gpages" ? 0.2 : void 0
151
- } : void 0,
152
- children: isDefaultWl ? /* @__PURE__ */ jsx(
153
- Image,
154
- {
155
- src: "/icons/icon-navbar.svg",
156
- alt: "GreatPages",
157
- width: 24,
158
- height: 24
159
- }
160
- ) : /* @__PURE__ */ jsxs(
161
- "svg",
162
- {
163
- xmlns: "http://www.w3.org/2000/svg",
164
- width: "24",
165
- height: "24",
166
- viewBox: "0 0 24 24",
167
- fill: "none",
168
- stroke: "white",
169
- strokeWidth: "2",
170
- strokeLinecap: "round",
171
- strokeLinejoin: "round",
172
- children: [
173
- /* @__PURE__ */ jsx("path", { d: "M4 8h16" }),
174
- /* @__PURE__ */ jsx("path", { d: "M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12" }),
175
- /* @__PURE__ */ jsx("path", { d: "M8 4v4" })
176
- ]
177
- }
178
- )
179
- }
180
- ) }),
181
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: isDefaultWl ? translate("common.layout.navbar.greatPages") : translate("common.layout.navbar.pages") })
182
- ] }),
183
- /* @__PURE__ */ jsx(
184
- "div",
132
+ /* @__PURE__ */ jsxs("div", { className: "relative", children: [
133
+ /* @__PURE__ */ jsxs(Tooltip, { children: [
134
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
135
+ Link,
185
136
  {
137
+ href: appIconHref,
186
138
  className: cn(
187
- "absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300",
188
- isDefaultWl ? "bg-cyan-300" : "",
189
- activeApp === "gpages" ? "opacity-100" : "opacity-0"
139
+ "size-10 rounded-lg cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300",
140
+ activeApp === "gpages" ? isDefaultWl ? "bg-cyan-100 border-white ring-cyan-300" : "border-white ring-transparent" : isDefaultWl ? "hover:bg-gray-100 border-transparent ring-transparent" : "border-transparent ring-transparent"
190
141
  ),
191
- style: !isDefaultWl ? { backgroundColor: primaryColor } : void 0
142
+ style: !isDefaultWl ? {
143
+ backgroundColor: primaryColor,
144
+ boxShadow: activeApp === "gpages" ? `0 0 0 2px ${primaryColor}40` : void 0,
145
+ opacity: activeApp !== "gpages" ? 0.2 : void 0
146
+ } : void 0,
147
+ children: isDefaultWl ? /* @__PURE__ */ jsx(
148
+ Image,
149
+ {
150
+ src: "/icons/icon-navbar.svg",
151
+ alt: "GreatPages",
152
+ width: 24,
153
+ height: 24
154
+ }
155
+ ) : /* @__PURE__ */ jsxs(
156
+ "svg",
157
+ {
158
+ xmlns: "http://www.w3.org/2000/svg",
159
+ width: "24",
160
+ height: "24",
161
+ viewBox: "0 0 24 24",
162
+ fill: "none",
163
+ stroke: "white",
164
+ strokeWidth: "2",
165
+ strokeLinecap: "round",
166
+ strokeLinejoin: "round",
167
+ children: [
168
+ /* @__PURE__ */ jsx("path", { d: "M4 8h16" }),
169
+ /* @__PURE__ */ jsx("path", { d: "M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12" }),
170
+ /* @__PURE__ */ jsx("path", { d: "M8 4v4" })
171
+ ]
172
+ }
173
+ )
192
174
  }
193
- )
175
+ ) }),
176
+ /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: isDefaultWl ? translate("common.layout.navbar.greatPages") : translate("common.layout.navbar.pages") })
194
177
  ] }),
195
- domainIconHref ? /* @__PURE__ */ jsxs("div", { className: "relative", children: [
196
- /* @__PURE__ */ jsxs(Tooltip, { children: [
197
- /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
198
- Link,
199
- {
200
- href: domainIconHref,
201
- "aria-label": isDefaultWl ? translate("common.layout.navbar.greatDomain") : translate("common.layout.navbar.domains"),
202
- className: cn(
203
- "size-10 rounded-[10px] cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300",
204
- activeApp === "gdomain" ? isDefaultWl ? "bg-[#EDE9FE] border-white ring-[#C092FF]" : "border-white ring-transparent" : isDefaultWl ? "hover:bg-gray-100 border-transparent ring-transparent" : "border-transparent ring-transparent"
205
- ),
206
- style: !isDefaultWl ? {
207
- backgroundColor: primaryColor,
208
- boxShadow: activeApp === "gdomain" ? `0 0 0 2px ${primaryColor}40` : void 0,
209
- opacity: activeApp !== "gdomain" ? 0.2 : void 0
210
- } : void 0,
211
- children: isDefaultWl ? /* @__PURE__ */ jsx(GreatDomainIcon, { active: activeApp === "gdomain" }) : /* @__PURE__ */ jsxs(
212
- "svg",
213
- {
214
- xmlns: "http://www.w3.org/2000/svg",
215
- width: "24",
216
- height: "24",
217
- viewBox: "0 0 24 24",
218
- fill: "none",
219
- stroke: "white",
220
- strokeWidth: "2",
221
- strokeLinecap: "round",
222
- strokeLinejoin: "round",
223
- children: [
224
- /* @__PURE__ */ jsx("path", { d: "M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" }),
225
- /* @__PURE__ */ jsx("path", { d: "M3.6 9h16.8" }),
226
- /* @__PURE__ */ jsx("path", { d: "M3.6 15h16.8" }),
227
- /* @__PURE__ */ jsx("path", { d: "M11.5 3a17 17 0 0 0 0 18" }),
228
- /* @__PURE__ */ jsx("path", { d: "M12.5 3a17 17 0 0 1 0 18" })
229
- ]
230
- }
231
- )
232
- }
233
- ) }),
234
- /* @__PURE__ */ jsx(TooltipContent, { side: "right", children: isDefaultWl ? translate("common.layout.navbar.greatDomain") : translate("common.layout.navbar.domains") })
235
- ] }),
236
- /* @__PURE__ */ jsx(
237
- "div",
238
- {
239
- className: cn(
240
- "absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300",
241
- isDefaultWl ? "bg-[#984DFF]" : "",
242
- activeApp === "gdomain" ? "opacity-100" : "opacity-0"
243
- ),
244
- style: !isDefaultWl ? { backgroundColor: primaryColor } : void 0
245
- }
246
- )
247
- ] }) : null
178
+ /* @__PURE__ */ jsx(
179
+ "div",
180
+ {
181
+ className: cn(
182
+ "absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300",
183
+ isDefaultWl ? "bg-cyan-300" : "",
184
+ activeApp === "gpages" ? "opacity-100" : "opacity-0"
185
+ ),
186
+ style: !isDefaultWl ? { backgroundColor: primaryColor } : void 0
187
+ }
188
+ )
248
189
  ] })
249
190
  ] }),
250
191
  /* @__PURE__ */ jsx("div", { className: "flex flex-col items-center gap-2", children })
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/layouts/NavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useTranslations } from \"next-intl\";\nimport { IconChevronRight } from \"@tabler/icons-react\";\nimport { Separator } from \"../ui/data-display/Separator\";\nimport { GreatDomainIcon } from \"./GreatDomainIcon\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\";\nimport {\n useDesktopSidebarStore,\n useDesktopSidebarHydration,\n} from \"../../store/useDesktopSidebarStore\";\nimport { useMdSidebarHydration } from \"../../store/useMdSidebarStore\";\nimport {\n useWhitelabel,\n useIsDefaultWhitelabel,\n} from \"../../providers/whitelabel.provider\";\nimport { cn } from \"../../infra/utils/clsx\";\n\ntype NavBarProps = {\n logoHref: string;\n appIconHref: string;\n /** Sem href o ícone do GreatDomain não é renderizado: é a flag do app. */\n domainIconHref?: string;\n activeApp?: \"gapps\" | \"gpages\" | \"gdomain\";\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n children?: React.ReactNode;\n className?: string;\n};\n\nfunction NavBar({\n logoHref,\n appIconHref,\n domainIconHref,\n activeApp,\n showExpandButton = false,\n onExpandClick,\n children,\n className,\n}: NavBarProps) {\n const translate = useTranslations();\n const { isExpanded: isDesktopExpanded, toggle: toggleDesktop } =\n useDesktopSidebarStore();\n useDesktopSidebarHydration();\n useMdSidebarHydration();\n const { whitelabel } = useWhitelabel();\n const isDefaultWl = useIsDefaultWhitelabel();\n const primaryColor = whitelabel?.general?.primary_color;\n const wlName = whitelabel?.name || \"Great\";\n\n const wlIcon = whitelabel?.secondary_logo ? (\n <Image\n className=\"size-7 object-contain\"\n src={`${process.env.NEXT_PUBLIC_STORAGE_URL}/${whitelabel.secondary_logo}`}\n alt={`${wlName} Logo`}\n width={28}\n height={28}\n />\n ) : (\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center transition-opacity duration-300\",\n activeApp !== \"gapps\" && \"opacity-20\",\n )}\n style={{ backgroundColor: primaryColor }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n </svg>\n </div>\n );\n\n return (\n <div\n className={cn(\n \"hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white\",\n className,\n )}\n >\n <div className=\"flex flex-col gap-4 items-center mt-[6.5px]\">\n {/* GreatApps logo */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger className=\"cursor-pointer\" asChild>\n <Link href={logoHref}>\n {isDefaultWl ? (\n <Image\n src=\"/icons/great-icon.svg\"\n alt=\"Great Icon\"\n width={28}\n height={28}\n />\n ) : (\n wlIcon\n )}\n </Link>\n </TooltipTrigger>\n <TooltipContent side=\"right\">{wlName}</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-[22px] top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-gray-950\" : \"\",\n activeApp === \"gapps\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n <div className=\"relative w-full mt-[7.5px]\">\n <Separator />\n {/* Md expand button */}\n {showExpandButton && (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={onExpandClick}\n className=\"hidden md:flex lg:hidden absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10\"\n >\n <IconChevronRight size={16} className=\"text-gray-500\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n {translate(\"common.layout.navbar.expandMenu\")}\n </TooltipContent>\n </Tooltip>\n )}\n {/* Desktop expand button */}\n {!isDesktopExpanded && (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={toggleDesktop}\n className=\"hidden lg:flex absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10\"\n >\n <IconChevronRight size={16} className=\"text-gray-500\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n {translate(\"common.layout.navbar.expandMenu\")}\n </TooltipContent>\n </Tooltip>\n )}\n </div>\n\n {/* Ícones de app — 8px entre eles (Figma 5929:2676) */}\n <div className=\"flex flex-col gap-2 items-center\">\n {/* GreatPages icon */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Link\n href={appIconHref}\n className={cn(\n \"size-10 rounded-lg cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n activeApp === \"gpages\"\n ? isDefaultWl\n ? \"bg-cyan-100 border-white ring-cyan-300\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow:\n activeApp === \"gpages\"\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: activeApp !== \"gpages\" ? 0.2 : undefined,\n }\n : undefined\n }\n >\n {isDefaultWl ? (\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={24}\n height={24}\n />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 8h16\" />\n <path d=\"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12\" />\n <path d=\"M8 4v4\" />\n </svg>\n )}\n </Link>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n {isDefaultWl\n ? translate(\"common.layout.navbar.greatPages\")\n : translate(\"common.layout.navbar.pages\")}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-cyan-300\" : \"\",\n activeApp === \"gpages\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={\n !isDefaultWl ? { backgroundColor: primaryColor } : undefined\n }\n />\n </div>\n\n {/* GreatDomain icon */}\n {domainIconHref ? (\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Link\n href={domainIconHref}\n aria-label={\n isDefaultWl\n ? translate(\"common.layout.navbar.greatDomain\")\n : translate(\"common.layout.navbar.domains\")\n }\n className={cn(\n \"size-10 rounded-[10px] cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n activeApp === \"gdomain\"\n ? isDefaultWl\n ? \"bg-[#EDE9FE] border-white ring-[#C092FF]\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow:\n activeApp === \"gdomain\"\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: activeApp !== \"gdomain\" ? 0.2 : undefined,\n }\n : undefined\n }\n >\n {isDefaultWl ? (\n <GreatDomainIcon active={activeApp === \"gdomain\"} />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0\" />\n <path d=\"M3.6 9h16.8\" />\n <path d=\"M3.6 15h16.8\" />\n <path d=\"M11.5 3a17 17 0 0 0 0 18\" />\n <path d=\"M12.5 3a17 17 0 0 1 0 18\" />\n </svg>\n )}\n </Link>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n {isDefaultWl\n ? translate(\"common.layout.navbar.greatDomain\")\n : translate(\"common.layout.navbar.domains\")}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-[#984DFF]\" : \"\",\n activeApp === \"gdomain\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={\n !isDefaultWl ? { backgroundColor: primaryColor } : undefined\n }\n />\n </div>\n ) : null}\n </div>\n </div>\n\n <div className=\"flex flex-col items-center gap-2\">{children}</div>\n </div>\n );\n}\n\nexport { NavBar };\nexport type { NavBarProps };\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/components/layouts/NavBar.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport Image from \"next/image\";\nimport Link from \"next/link\";\nimport { useTranslations } from \"next-intl\";\nimport { IconChevronRight } from \"@tabler/icons-react\";\nimport { Separator } from \"../ui/data-display/Separator\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../ui/overlay/Tooltip\";\nimport {\n useDesktopSidebarStore,\n useDesktopSidebarHydration,\n} from \"../../store/useDesktopSidebarStore\";\nimport {\n useWhitelabel,\n useIsDefaultWhitelabel,\n} from \"../../providers/whitelabel.provider\";\nimport { cn } from \"../../infra/utils/clsx\";\n\ntype NavBarProps = {\n logoHref: string;\n appIconHref: string;\n activeApp?: \"gapps\" | \"gpages\";\n showExpandButton?: boolean;\n onExpandClick?: () => void;\n children?: React.ReactNode;\n className?: string;\n};\n\nfunction NavBar({\n logoHref,\n appIconHref,\n activeApp,\n showExpandButton = false,\n onExpandClick,\n children,\n className,\n}: NavBarProps) {\n const translate = useTranslations();\n const { isExpanded: isDesktopExpanded, toggle: toggleDesktop } =\n useDesktopSidebarStore();\n useDesktopSidebarHydration();\n const { whitelabel } = useWhitelabel();\n const isDefaultWl = useIsDefaultWhitelabel();\n const primaryColor = whitelabel?.general?.primary_color;\n const wlName = whitelabel?.name || \"Great\";\n\n const wlIcon = whitelabel?.secondary_logo ? (\n <Image\n className=\"size-7 object-contain\"\n src={`${process.env.NEXT_PUBLIC_STORAGE_URL}/${whitelabel.secondary_logo}`}\n alt={`${wlName} Logo`}\n width={28}\n height={28}\n />\n ) : (\n <div\n className={cn(\n \"size-10 rounded-lg flex items-center justify-center transition-opacity duration-300\",\n activeApp !== \"gapps\" && \"opacity-20\",\n )}\n style={{ backgroundColor: primaryColor }}\n >\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 5a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M4 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n <path d=\"M14 15a1 1 0 0 1 1 -1h4a1 1 0 0 1 1 1v4a1 1 0 0 1 -1 1h-4a1 1 0 0 1 -1 -1l0 -4\" />\n </svg>\n </div>\n );\n\n return (\n <div\n className={cn(\n \"hidden md:flex flex-col justify-between h-screen p-4 border-r border-gray-200 overflow-visible z-40 bg-white\",\n className,\n )}\n >\n <div className=\"flex flex-col gap-4 items-center mt-[6.5px]\">\n {/* GreatApps logo */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger className=\"cursor-pointer\" asChild>\n <Link href={logoHref}>\n {isDefaultWl ? (\n <Image\n src=\"/icons/great-icon.svg\"\n alt=\"Great Icon\"\n width={28}\n height={28}\n />\n ) : (\n wlIcon\n )}\n </Link>\n </TooltipTrigger>\n <TooltipContent side=\"right\">{wlName}</TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-[22px] top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-gray-950\" : \"\",\n activeApp === \"gapps\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n\n <div className=\"relative w-full mt-[7.5px]\">\n <Separator />\n {/* Md expand button */}\n {showExpandButton && (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={onExpandClick}\n className=\"hidden md:flex lg:hidden absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10\"\n >\n <IconChevronRight size={16} className=\"text-gray-500\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">{translate('common.layout.navbar.expandMenu')}</TooltipContent>\n </Tooltip>\n )}\n {/* Desktop expand button */}\n {!isDesktopExpanded && (\n <Tooltip>\n <TooltipTrigger asChild>\n <button\n onClick={toggleDesktop}\n className=\"hidden lg:flex absolute top-1/2 -translate-y-1/2 right-0 translate-x-[calc(50%+1rem)] size-8 items-center justify-center rounded-full border border-gray-200 bg-white hover:bg-gray-100 cursor-pointer transition-colors z-10\"\n >\n <IconChevronRight size={16} className=\"text-gray-500\" />\n </button>\n </TooltipTrigger>\n <TooltipContent side=\"right\">{translate('common.layout.navbar.expandMenu')}</TooltipContent>\n </Tooltip>\n )}\n </div>\n\n {/* GreatPages icon */}\n <div className=\"relative\">\n <Tooltip>\n <TooltipTrigger asChild>\n <Link\n href={appIconHref}\n className={cn(\n \"size-10 rounded-lg cursor-pointer flex items-center justify-center border-2 ring-2 transition-colors duration-300\",\n activeApp === \"gpages\"\n ? isDefaultWl\n ? \"bg-cyan-100 border-white ring-cyan-300\"\n : \"border-white ring-transparent\"\n : isDefaultWl\n ? \"hover:bg-gray-100 border-transparent ring-transparent\"\n : \"border-transparent ring-transparent\",\n )}\n style={\n !isDefaultWl\n ? {\n backgroundColor: primaryColor,\n boxShadow:\n activeApp === \"gpages\"\n ? `0 0 0 2px ${primaryColor}40`\n : undefined,\n opacity: activeApp !== \"gpages\" ? 0.2 : undefined,\n }\n : undefined\n }\n >\n {isDefaultWl ? (\n <Image\n src=\"/icons/icon-navbar.svg\"\n alt=\"GreatPages\"\n width={24}\n height={24}\n />\n ) : (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"white\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M4 8h16\" />\n <path d=\"M4 6a2 2 0 0 1 2 -2h12a2 2 0 0 1 2 2v12a2 2 0 0 1 -2 2h-12a2 2 0 0 1 -2 -2l0 -12\" />\n <path d=\"M8 4v4\" />\n </svg>\n )}\n </Link>\n </TooltipTrigger>\n <TooltipContent side=\"right\">\n {isDefaultWl ? translate('common.layout.navbar.greatPages') : translate('common.layout.navbar.pages')}\n </TooltipContent>\n </Tooltip>\n <div\n className={cn(\n \"absolute -left-4 top-1/2 -translate-y-1/2 z-10 w-[3px] h-5 rounded-r-xl transition-opacity duration-300\",\n isDefaultWl ? \"bg-cyan-300\" : \"\",\n activeApp === \"gpages\" ? \"opacity-100\" : \"opacity-0\",\n )}\n style={!isDefaultWl ? { backgroundColor: primaryColor } : undefined}\n />\n </div>\n </div>\n\n <div className=\"flex flex-col items-center gap-2\">{children}</div>\n </div>\n );\n}\n\nexport { NavBar };\nexport type { NavBarProps };\n"],"mappings":"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","names":[]}
@@ -74,6 +74,7 @@ function AddCardModal() {
74
74
  const [stripeErrors, setStripeErrors] = useState({});
75
75
  const [isAuthenticating, setIsAuthenticating] = useState(false);
76
76
  const onCardAdded = modalData.onCardAdded;
77
+ const setAsDefault = modalData.setAsDefault !== false;
77
78
  const createSetupIntentMutation = useCreateSetupIntent();
78
79
  const createCardMutation = useCreateCard();
79
80
  const elements = useElements();
@@ -195,7 +196,7 @@ function AddCardModal() {
195
196
  const cardResult = await createCardMutation.mutateAsync({
196
197
  setup_intent_id: intent.setup_intent_id,
197
198
  name: data.name,
198
- set_default: true,
199
+ set_default: setAsDefault,
199
200
  ...isInternational ? {} : {
200
201
  financial_document_type: data.personType === "pf" ? 1 : 2,
201
202
  financial_document: data.personType === "pf" ? data.cpf : data.cnpj
@@ -210,6 +211,7 @@ function AddCardModal() {
210
211
  state: data.state,
211
212
  country: data.country
212
213
  });
214
+ handleClose();
213
215
  if (cardResult.success && cardResult.data?.id != null) {
214
216
  onCardAdded?.(cardResult.data.id.toString());
215
217
  }
@@ -217,7 +219,6 @@ function AddCardModal() {
217
219
  (t) => /* @__PURE__ */ jsx(Toast, { variant: "success", message: translate("common.cards.add.successToast"), toastId: t }),
218
220
  { duration: 5e3 }
219
221
  );
220
- handleClose();
221
222
  } catch (error) {
222
223
  const backendMessage = error instanceof Error && error.message ? error.message : null;
223
224
  toast.custom(