@solidxai/core-ui 0.1.8-beta.7 → 0.1.8-beta.9

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 (143) hide show
  1. package/dist/components/auth/AuthLayout.d.ts.map +1 -1
  2. package/dist/components/auth/AuthLayout.js +16 -32
  3. package/dist/components/auth/AuthLayout.js.map +1 -1
  4. package/dist/components/auth/AuthLayout.tsx +4 -20
  5. package/dist/components/auth/AuthTabs.d.ts.map +1 -1
  6. package/dist/components/auth/AuthTabs.js +9 -9
  7. package/dist/components/auth/AuthTabs.js.map +1 -1
  8. package/dist/components/auth/AuthTabs.tsx +14 -15
  9. package/dist/components/auth/SolidOTPVerify.d.ts +3 -0
  10. package/dist/components/auth/SolidOTPVerify.d.ts.map +1 -0
  11. package/dist/components/auth/SolidOTPVerify.js +67 -0
  12. package/dist/components/auth/SolidOTPVerify.js.map +1 -0
  13. package/dist/components/auth/SolidOTPVerify.tsx +133 -0
  14. package/dist/components/auth/SolidRegister.d.ts.map +1 -1
  15. package/dist/components/auth/SolidRegister.js +1 -1
  16. package/dist/components/auth/SolidRegister.js.map +1 -1
  17. package/dist/components/auth/SolidRegister.tsx +12 -5
  18. package/dist/components/common/AuthBanner.js.map +1 -1
  19. package/dist/components/common/GeneralSettings.d.ts.map +1 -1
  20. package/dist/components/common/GeneralSettings.js +41 -46
  21. package/dist/components/common/GeneralSettings.js.map +1 -1
  22. package/dist/components/common/GeneralSettings.tsx +0 -19
  23. package/dist/components/common/SolidThemeProvider.d.ts.map +1 -1
  24. package/dist/components/common/SolidThemeProvider.js +5 -21
  25. package/dist/components/common/SolidThemeProvider.js.map +1 -1
  26. package/dist/components/common/SolidThemeProvider.tsx +6 -24
  27. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts +2 -0
  28. package/dist/components/core/common/LoadDynamicJsxComponent.d.ts.map +1 -0
  29. package/dist/components/core/common/LoadDynamicJsxComponent.js +50 -0
  30. package/dist/components/core/common/LoadDynamicJsxComponent.js.map +1 -0
  31. package/dist/components/core/common/LoadDynamicJsxComponent.tsx +70 -0
  32. package/dist/components/core/form/SolidFormView.js +42 -41
  33. package/dist/components/core/form/SolidFormView.js.map +1 -1
  34. package/dist/components/core/form/SolidFormView.tsx +16 -16
  35. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.d.ts +1 -1
  36. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js +1 -1
  37. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.js.map +1 -1
  38. package/dist/components/core/form/fields/widgets/SolidS3FileViewerWidget.tsx +1 -1
  39. package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
  40. package/dist/components/core/kanban/SolidKanbanView.js +41 -44
  41. package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
  42. package/dist/components/core/kanban/SolidKanbanView.tsx +16 -25
  43. package/dist/components/core/kanban/SolidManyToOneFilterElement.d.ts.map +1 -1
  44. package/dist/components/core/kanban/SolidManyToOneFilterElement.js.map +1 -1
  45. package/dist/components/core/kanban/SolidManyToOneFilterElement.tsx +2 -1
  46. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.d.ts.map +1 -1
  47. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js +2 -2
  48. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.js.map +1 -1
  49. package/dist/components/core/kanban/kanban-fields/SolidMediaMultipleKanbanField.tsx +10 -21
  50. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.d.ts.map +1 -1
  51. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js +2 -2
  52. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.js.map +1 -1
  53. package/dist/components/core/kanban/kanban-fields/SolidMediaSingleKanbanField.tsx +10 -18
  54. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.d.ts.map +1 -1
  55. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js +6 -3
  56. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.js.map +1 -1
  57. package/dist/components/core/kanban/kanban-fields/SolidShortTextKanbanField.tsx +24 -30
  58. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.js.map +1 -1
  59. package/dist/components/core/kanban/kanban-fields/relations/SolidRelationManyToOneKanbanField.tsx +2 -2
  60. package/dist/components/core/list/SolidListView.d.ts.map +1 -1
  61. package/dist/components/core/list/SolidListView.js +3 -11
  62. package/dist/components/core/list/SolidListView.js.map +1 -1
  63. package/dist/components/core/list/SolidListView.tsx +27 -48
  64. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts +1 -1
  65. package/dist/components/core/list/SolidListViewRowButtonContextMenu.d.ts.map +1 -1
  66. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js +7 -6
  67. package/dist/components/core/list/SolidListViewRowButtonContextMenu.js.map +1 -1
  68. package/dist/components/core/list/SolidListViewRowButtonContextMenu.tsx +10 -9
  69. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.css +283 -9
  70. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.d.ts.map +1 -1
  71. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js +35 -28
  72. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.js.map +1 -1
  73. package/dist/components/core/users/ApiKeysTab/ApiKeysTab.tsx +64 -62
  74. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts +2 -1
  75. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.d.ts.map +1 -1
  76. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js +4 -4
  77. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.js.map +1 -1
  78. package/dist/components/core/users/ApiKeysTab/GenerateApiKeyModal.tsx +17 -10
  79. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.d.ts.map +1 -1
  80. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js +2 -19
  81. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.js.map +1 -1
  82. package/dist/components/core/users/ApiKeysTab/RevealApiKeyModal.tsx +24 -43
  83. package/dist/components/core/users/CreateUser.css +114 -0
  84. package/dist/components/core/users/CreateUser.d.ts +1 -0
  85. package/dist/components/core/users/CreateUser.d.ts.map +1 -1
  86. package/dist/components/core/users/CreateUser.js +4 -3
  87. package/dist/components/core/users/CreateUser.js.map +1 -1
  88. package/dist/components/core/users/CreateUser.tsx +32 -26
  89. package/dist/components/layout/context/layoutcontext.js +2 -2
  90. package/dist/components/layout/context/layoutcontext.js.map +1 -1
  91. package/dist/components/layout/context/layoutcontext.tsx +2 -2
  92. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts +6 -1
  93. package/dist/components/shad-cn-ui/SolidConfirmDialog.d.ts.map +1 -1
  94. package/dist/components/shad-cn-ui/SolidConfirmDialog.js +3 -3
  95. package/dist/components/shad-cn-ui/SolidConfirmDialog.js.map +1 -1
  96. package/dist/components/shad-cn-ui/SolidConfirmDialog.tsx +15 -3
  97. package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
  98. package/dist/components/shad-cn-ui/SolidTabs.js +2 -2
  99. package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
  100. package/dist/components/shad-cn-ui/SolidTabs.tsx +0 -2
  101. package/dist/nextAuth/authProviders.d.ts +4 -0
  102. package/dist/nextAuth/authProviders.d.ts.map +1 -0
  103. package/dist/nextAuth/authProviders.js +198 -0
  104. package/dist/nextAuth/authProviders.js.map +1 -0
  105. package/dist/nextAuth/authProviders.tsx +232 -0
  106. package/dist/nextAuth/handleLogout.d.ts +2 -0
  107. package/dist/nextAuth/handleLogout.d.ts.map +1 -0
  108. package/dist/nextAuth/handleLogout.js +36 -0
  109. package/dist/nextAuth/handleLogout.js.map +1 -0
  110. package/dist/nextAuth/handleLogout.tsx +39 -0
  111. package/dist/nextAuth/refreshAccessToken.d.ts +2 -0
  112. package/dist/nextAuth/refreshAccessToken.d.ts.map +1 -0
  113. package/dist/nextAuth/refreshAccessToken.js +24 -0
  114. package/dist/nextAuth/refreshAccessToken.js.map +1 -0
  115. package/dist/nextAuth/refreshAccessToken.tsx +28 -0
  116. package/dist/redux/features/settingsSlice.d.ts +20 -0
  117. package/dist/redux/features/settingsSlice.d.ts.map +1 -0
  118. package/dist/redux/features/settingsSlice.js +39 -0
  119. package/dist/redux/features/settingsSlice.js.map +1 -0
  120. package/dist/redux/features/settingsSlice.ts +60 -0
  121. package/dist/resources/globals.css +97 -77
  122. package/dist/resources/shadcn-base.css +62 -304
  123. package/package.json +1 -1
  124. package/dist/components/core/list/SolidDataTablePagination.d.ts +0 -15
  125. package/dist/components/core/list/SolidDataTablePagination.d.ts.map +0 -1
  126. package/dist/components/core/list/SolidDataTablePagination.js +0 -22
  127. package/dist/components/core/list/SolidDataTablePagination.js.map +0 -1
  128. package/dist/components/core/list/SolidDataTablePagination.tsx +0 -71
  129. package/dist/components/solid-ui/SolidButton.d.ts +0 -14
  130. package/dist/components/solid-ui/SolidButton.d.ts.map +0 -1
  131. package/dist/components/solid-ui/SolidButton.js +0 -36
  132. package/dist/components/solid-ui/SolidButton.js.map +0 -1
  133. package/dist/components/solid-ui/SolidButton.tsx +0 -54
  134. package/dist/components/solid-ui/SolidTabs.d.ts +0 -18
  135. package/dist/components/solid-ui/SolidTabs.d.ts.map +0 -1
  136. package/dist/components/solid-ui/SolidTabs.js +0 -22
  137. package/dist/components/solid-ui/SolidTabs.js.map +0 -1
  138. package/dist/components/solid-ui/SolidTabs.tsx +0 -73
  139. package/dist/components/solid-ui/index.d.ts +0 -3
  140. package/dist/components/solid-ui/index.d.ts.map +0 -1
  141. package/dist/components/solid-ui/index.js +0 -3
  142. package/dist/components/solid-ui/index.js.map +0 -1
  143. package/dist/components/solid-ui/index.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAaA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;oDAuNnE,CAAA"}
1
+ {"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAcA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;oDAsMnE,CAAA"}
@@ -2,40 +2,24 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import Link from "../common/Link";
3
3
  import { usePathname } from "../../hooks/usePathname";
4
4
  import { useRouter } from "../../hooks/useRouter";
5
- import { useEffect, useState } from "react";
5
+ import { useContext, useEffect, useState } from "react";
6
6
  import Image from "../common/Image";
7
7
  import SolidLogo from '../../resources/images/SolidXLogo.svg';
8
8
  import AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';
9
9
  import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
10
10
  import { env } from "../../adapters/env";
11
11
  import { SolidButton, SolidDialog, SolidDivider } from "../shad-cn-ui";
12
+ import { LayoutContext } from "../layout/context/layoutcontext";
12
13
  var SHADCN_PLACEHOLDER_IMAGE = "https://ui.shadcn.com/placeholder.svg";
13
14
  export var AuthLayout = function (_a) {
14
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8;
15
+ var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
15
16
  var children = _a.children;
16
- var _9 = useLazyGetAuthSettingsQuery(), trigger = _9[0], solidSettingsData = _9[1].data;
17
- var _10 = useState(null), allowRegistration = _10[0], setAllowRegistration = _10[1];
18
- var _11 = useState(false), isRestricted = _11[0], setIsRestricted = _11[1];
17
+ var _8 = useLazyGetAuthSettingsQuery(), trigger = _8[0], solidSettingsData = _8[1].data;
18
+ var layoutContext = useContext(LayoutContext);
19
+ var _9 = useState(null), allowRegistration = _9[0], setAllowRegistration = _9[1];
20
+ var _10 = useState(false), isRestricted = _10[0], setIsRestricted = _10[1];
19
21
  var pathname = usePathname();
20
22
  var router = useRouter();
21
- // const { changeTheme } = useContext(PrimeReactContext);
22
- // const { layoutConfig, setLayoutConfig } = useContext(LayoutContext);
23
- // const dispatch = useDispatch();
24
- // const _changeTheme = (theme: string, colorScheme: string) => {
25
- // changeTheme?.(layoutConfig.theme, theme, 'theme-css', () => {
26
- // setLayoutConfig((prevState: LayoutConfig) => ({ ...prevState, theme, colorScheme }));
27
- // });
28
- // };
29
- // useEffect(() => {
30
- // const theme = solidSettingsData?.data?.authPagesTheme; // 'dark' or 'light'
31
- // if (theme) {
32
- // dispatch(toggleTheme()); // Dispatch Redux action
33
- // _changeTheme(
34
- // theme === "dark" ? "solid-dark-purple" : "solid-light-purple",
35
- // theme
36
- // );
37
- // }
38
- // }, [solidSettingsData]);
39
23
  useEffect(function () {
40
24
  trigger("");
41
25
  }, [trigger]);
@@ -103,19 +87,19 @@ export var AuthLayout = function (_a) {
103
87
  return (_jsxs("div", { className: "solid-auth-brand ".concat(align === "center" ? "is-center" : ""), "aria-label": brandLabel, children: [authLogoSrc ? (_jsx("span", { className: "solid-auth-brand-logo", children: _jsx("img", { src: authLogoSrc, alt: brandLabel }) })) : null, appName ? _jsx("span", { className: "solid-auth-brand-text", children: appName }) : null] }));
104
88
  };
105
89
  var authLayout = ((_e = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _e === void 0 ? void 0 : _e.authPagesLayout) || "center";
106
- var authTheme = ((_f = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _f === void 0 ? void 0 : _f.authPagesTheme) === "dark" ? "dark" : "light";
90
+ var authTheme = (layoutContext === null || layoutContext === void 0 ? void 0 : layoutContext.themeMode) === "dark" ? "dark" : "light";
107
91
  var isCenter = authLayout === "center";
108
92
  var isLeft = authLayout === "left";
109
93
  var isRight = authLayout === "right";
110
94
  var formPane = (_jsx("div", { className: "solid-auth-form-pane solid-login-dark-bg", children: _jsxs("div", { className: "solid-auth-form-pane-inner", children: [renderBrand("start"), authChildren] }) }));
111
- var imagePane = (_jsxs("div", { className: "solid-auth-image-pane position-relative ".concat(isLeft ? "solid-left-layout pane-on-right" : "solid-right-layout pane-on-left").trim(), style: { backgroundImage: "url(".concat(solidSideBanner(), ")") }, children: [((_g = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _g === void 0 ? void 0 : _g.appLogoPosition) === "in_image_view" &&
112
- _jsx("div", { className: "solid-logo flex align-items-center gap-3 ".concat((_h = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _h === void 0 ? void 0 : _h.appLogoPosition), children: _jsx(Image, { alt: "solid logo", src: ((_j = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _j === void 0 ? void 0 : _j.appLogo) || SolidLogo, className: "relative", fill: true }) }), ((_k = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _k === void 0 ? void 0 : _k.showAuthContent) &&
113
- _jsx("div", { className: "w-full", style: { zIndex: 1 }, children: _jsx("div", { className: "grid", children: _jsxs("div", { className: "col-8 mx-auto", children: [((_l = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _l === void 0 ? void 0 : _l.appSubtitle) && _jsx("h1", { className: "solid-auth-image-subtitle m-0", children: (_m = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _m === void 0 ? void 0 : _m.appSubtitle }), ((_o = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _o === void 0 ? void 0 : _o.appTitle) && _jsx("h1", { className: "solid-auth-image-title mt-0", children: (_p = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _p === void 0 ? void 0 : _p.appTitle }), ((_q = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _q === void 0 ? void 0 : _q.appDescription) && _jsx("p", { className: "solid-auth-image-helper-text", children: (_r = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _r === void 0 ? void 0 : _r.appDescription })] }) }) })] }));
114
- return (_jsxs("div", { className: "solid-auth-theme-wrapper ".concat(authLayout, " auth-theme-").concat(authTheme), "data-auth-theme": authTheme, children: [!isCenter && (_jsxs("div", { className: "solid-auth-split", children: [isLeft && formPane, imagePane, isRight && formPane] })), isCenter && _jsx("div", { className: "solid-center-layout", children: _jsxs("div", { className: "solid-auth-center-stack", children: [renderBrand("center"), authChildren] }) }), _jsxs("div", { className: "absolute hidden md:flex ".concat(((_s = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _s === void 0 ? void 0 : _s.authPagesLayout) === 'center' ? 'solid-auth-footer flex flex-column sm:flex-row align-items-center justify-content-between' : 'solid-auth-footer-2 grid'), children: [((_t = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _t === void 0 ? void 0 : _t.authPagesLayout) !== 'left' &&
115
- _jsx("div", { className: ((_u = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _u === void 0 ? void 0 : _u.authPagesLayout) !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : '', children: ((_v = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _v === void 0 ? void 0 : _v.showLegalLinks) === true &&
116
- _jsxs("p", { className: "solid-auth-input-label text-sm m-0 ".concat((_w = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _w === void 0 ? void 0 : _w.authPagesLayout), children: ["Made with ", _jsxs("svg", { className: "mx-1", width: "12px", height: "12px", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), _jsx("g", { id: "SVGRepo_tracerCarrier", strokeLinecap: "round", strokeLinejoin: "round" }), _jsxs("g", { id: "SVGRepo_iconCarrier", children: [" ", _jsx("path", { d: "M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z", fill: "#ff0000" }), " "] })] }), " in Mumbai"] }) }), _jsxs("div", { className: ((_x = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _x === void 0 ? void 0 : _x.authPagesLayout) !== 'center' ? 'col-6 flex justify-content-center' : '', children: [((_y = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _y === void 0 ? void 0 : _y.showLegalLinks) === true && _jsxs("div", { className: "flex flex-column sm:flex-row align-items-center gap-1 sm:gap-5 solid-auth-subtitle mr-3 ".concat(((_z = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _z === void 0 ? void 0 : _z.authPagesLayout) === 'left' ? 'left' : ''), children: [((_0 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _0 === void 0 ? void 0 : _0.appTnc) !== "" && _jsxs("p", { className: "m-0 ", children: [" ", _jsx(Link, { className: "text-sm no-underline font-normal", href: (_1 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _1 === void 0 ? void 0 : _1.appTnc, children: "Terms of Service" })] }), ((_2 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _2 === void 0 ? void 0 : _2.appPrivacyPolicy) !== "" && _jsxs("p", { className: "m-0 ", children: [" ", _jsx(Link, { className: "text-sm no-underline font-normal", href: (_3 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _3 === void 0 ? void 0 : _3.appPrivacyPolicy, children: "Privacy Policy." })] })] }), ((_4 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _4 === void 0 ? void 0 : _4.copyright) !== "" &&
117
- _jsx("div", { className: "mt-1", children: _jsx("p", { className: "m-0 text-sm font-normal", children: (_5 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _5 === void 0 ? void 0 : _5.copyright }) })] }), ((_6 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _6 === void 0 ? void 0 : _6.authPagesLayout) === 'left' &&
118
- _jsx("div", { className: ((_7 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _7 === void 0 ? void 0 : _7.authPagesLayout) !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : '', children: ((_8 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _8 === void 0 ? void 0 : _8.showLegalLinks) === true &&
95
+ var imagePane = (_jsxs("div", { className: "solid-auth-image-pane position-relative ".concat(isLeft ? "solid-left-layout pane-on-right" : "solid-right-layout pane-on-left").trim(), style: { backgroundImage: "url(".concat(solidSideBanner(), ")") }, children: [((_f = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _f === void 0 ? void 0 : _f.appLogoPosition) === "in_image_view" &&
96
+ _jsx("div", { className: "solid-logo flex align-items-center gap-3 ".concat((_g = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _g === void 0 ? void 0 : _g.appLogoPosition), children: _jsx(Image, { alt: "solid logo", src: ((_h = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _h === void 0 ? void 0 : _h.appLogo) || SolidLogo, className: "relative", fill: true }) }), ((_j = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _j === void 0 ? void 0 : _j.showAuthContent) &&
97
+ _jsx("div", { className: "w-full", style: { zIndex: 1 }, children: _jsx("div", { className: "grid", children: _jsxs("div", { className: "col-8 mx-auto", children: [((_k = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _k === void 0 ? void 0 : _k.appSubtitle) && _jsx("h1", { className: "solid-auth-image-subtitle m-0", children: (_l = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _l === void 0 ? void 0 : _l.appSubtitle }), ((_m = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _m === void 0 ? void 0 : _m.appTitle) && _jsx("h1", { className: "solid-auth-image-title mt-0", children: (_o = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _o === void 0 ? void 0 : _o.appTitle }), ((_p = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _p === void 0 ? void 0 : _p.appDescription) && _jsx("p", { className: "solid-auth-image-helper-text", children: (_q = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _q === void 0 ? void 0 : _q.appDescription })] }) }) })] }));
98
+ return (_jsxs("div", { className: "solid-auth-theme-wrapper ".concat(authLayout, " auth-theme-").concat(authTheme), "data-auth-theme": authTheme, children: [!isCenter && (_jsxs("div", { className: "solid-auth-split", children: [isLeft && formPane, imagePane, isRight && formPane] })), isCenter && _jsx("div", { className: "solid-center-layout", children: _jsxs("div", { className: "solid-auth-center-stack", children: [renderBrand("center"), authChildren] }) }), _jsxs("div", { className: "absolute hidden md:flex ".concat(((_r = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _r === void 0 ? void 0 : _r.authPagesLayout) === 'center' ? 'solid-auth-footer flex flex-column sm:flex-row align-items-center justify-content-between' : 'solid-auth-footer-2 grid'), children: [((_s = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _s === void 0 ? void 0 : _s.authPagesLayout) !== 'left' &&
99
+ _jsx("div", { className: ((_t = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _t === void 0 ? void 0 : _t.authPagesLayout) !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : '', children: ((_u = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _u === void 0 ? void 0 : _u.showLegalLinks) === true &&
100
+ _jsxs("p", { className: "solid-auth-input-label text-sm m-0 ".concat((_v = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _v === void 0 ? void 0 : _v.authPagesLayout), children: ["Made with ", _jsxs("svg", { className: "mx-1", width: "12px", height: "12px", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), _jsx("g", { id: "SVGRepo_tracerCarrier", strokeLinecap: "round", strokeLinejoin: "round" }), _jsxs("g", { id: "SVGRepo_iconCarrier", children: [" ", _jsx("path", { d: "M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z", fill: "#ff0000" }), " "] })] }), " in Mumbai"] }) }), _jsxs("div", { className: ((_w = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _w === void 0 ? void 0 : _w.authPagesLayout) !== 'center' ? 'col-6 flex justify-content-center' : '', children: [((_x = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _x === void 0 ? void 0 : _x.showLegalLinks) === true && _jsxs("div", { className: "flex flex-column sm:flex-row align-items-center gap-1 sm:gap-5 solid-auth-subtitle mr-3 ".concat(((_y = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _y === void 0 ? void 0 : _y.authPagesLayout) === 'left' ? 'left' : ''), children: [((_z = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _z === void 0 ? void 0 : _z.appTnc) !== "" && _jsxs("p", { className: "m-0 ", children: [" ", _jsx(Link, { className: "text-sm no-underline font-normal", href: (_0 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _0 === void 0 ? void 0 : _0.appTnc, children: "Terms of Service" })] }), ((_1 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _1 === void 0 ? void 0 : _1.appPrivacyPolicy) !== "" && _jsxs("p", { className: "m-0 ", children: [" ", _jsx(Link, { className: "text-sm no-underline font-normal", href: (_2 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _2 === void 0 ? void 0 : _2.appPrivacyPolicy, children: "Privacy Policy." })] })] }), ((_3 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _3 === void 0 ? void 0 : _3.copyright) !== "" &&
101
+ _jsx("div", { className: "mt-1", children: _jsx("p", { className: "m-0 text-sm font-normal", children: (_4 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _4 === void 0 ? void 0 : _4.copyright }) })] }), ((_5 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _5 === void 0 ? void 0 : _5.authPagesLayout) === 'left' &&
102
+ _jsx("div", { className: ((_6 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _6 === void 0 ? void 0 : _6.authPagesLayout) !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : '', children: ((_7 = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _7 === void 0 ? void 0 : _7.showLegalLinks) === true &&
119
103
  _jsxs("p", { className: "solid-auth-input-label text-sm m-0 right", children: ["Made with ", _jsxs("svg", { className: "mx-1", width: "12px", height: "12px", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: [_jsx("g", { id: "SVGRepo_bgCarrier", "stroke-width": "0" }), _jsx("g", { id: "SVGRepo_tracerCarrier", strokeLinecap: "round", strokeLinejoin: "round" }), _jsxs("g", { id: "SVGRepo_iconCarrier", children: [" ", _jsx("path", { d: "M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z", fill: "#ff0000" }), " "] })] }), " in Mumbai"] }) })] }), _jsxs(SolidDialog, { visible: isRestricted, onHide: handleRegistration, header: "Access Restricted", headerClassName: "py-2", contentClassName: "px-0 pb-0", className: "solid-confirm-dialog ", footer: _jsx("div", { className: "flex align-items-center justify-content-start", children: _jsx(SolidButton, { size: "sm", onClick: handleRegistration, children: "Close" }) }), children: [_jsx(SolidDivider, { className: "m-0" }), _jsx("div", { className: "p-4", children: _jsx("p", { children: "Sign-up is not available. Please contact the admin." }) })] })] }));
120
104
  };
121
105
  //# sourceMappingURL=AuthLayout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"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","sourcesContent":["import Link from \"../common/Link\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect, useState } from \"react\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()\n\n const [allowRegistration, setAllowRegistration] = useState<boolean | null>(null);\n const [isRestricted, setIsRestricted] = useState(false);\n const pathname = usePathname();\n const router = useRouter();\n\n // const { changeTheme } = useContext(PrimeReactContext);\n // const { layoutConfig, setLayoutConfig } = useContext(LayoutContext);\n // const dispatch = useDispatch();\n // const _changeTheme = (theme: string, colorScheme: string) => {\n // changeTheme?.(layoutConfig.theme, theme, 'theme-css', () => {\n // setLayoutConfig((prevState: LayoutConfig) => ({ ...prevState, theme, colorScheme }));\n // });\n // };\n // useEffect(() => {\n // const theme = solidSettingsData?.data?.authPagesTheme; // 'dark' or 'light'\n // if (theme) {\n // dispatch(toggleTheme()); // Dispatch Redux action\n // _changeTheme(\n // theme === \"dark\" ? \"solid-dark-purple\" : \"solid-light-purple\",\n // theme\n // );\n // }\n // }, [solidSettingsData]);\n useEffect(() => {\n trigger(\"\");\n }, [trigger]);\n\n useEffect(() => {\n const allowPublicRegistration = solidSettingsData?.data?.allowPublicRegistration;\n if (allowPublicRegistration === false) {\n setAllowRegistration(false);\n if (pathname === \"/auth/register\") {\n setIsRestricted(true);\n } else {\n setIsRestricted(false);\n }\n } else if (allowPublicRegistration === true) {\n setAllowRegistration(true);\n setIsRestricted(false);\n }\n }, [solidSettingsData, pathname]);\n\n if (allowRegistration === null && pathname === \"/auth/register\") {\n console.log(`AuthLayout returning null because allowRegistration is null for register route`);\n return null;\n }\n\n const authChildren = allowRegistration || pathname !== \"/auth/register\" ? children : null;\n const handleRegistration = () => {\n router.push(\"/auth/login\");\n setIsRestricted(false);\n }\n\n const solidSideBanner = () => {\n const layout = solidSettingsData?.data?.authPagesLayout;\n\n let src = '';\n\n if (layout === 'left') {\n src = solidSettingsData?.data?.authScreenLeftBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'right') {\n src = solidSettingsData?.data?.authScreenRightBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'center') {\n src = solidSettingsData?.data?.authScreenCenterBackgroundImage || (AuthScreenCenterBackgroundImage as any).src || AuthScreenCenterBackgroundImage;\n }\n\n // Normalize image path if coming from API\n const isBlobOrAbsolute = src?.startsWith(\"blob:\") || src?.startsWith(\"http\");\n if (!isBlobOrAbsolute && !src?.startsWith(\"/\")) {\n src = `${env(\"API_URL\")}/${src}`;\n }\n\n return src;\n };\n\n const normalizeAssetUrl = (src?: string) => {\n if (!src) return \"\";\n const isBlobOrAbsolute = src.startsWith(\"blob:\") || src.startsWith(\"http\");\n if (isBlobOrAbsolute || src.startsWith(\"/\")) return src;\n return `${env(\"API_URL\")}/${src}`;\n };\n\n const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || \"\");\n const appName = solidSettingsData?.data?.appTitle?.trim() || \"\";\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appName) return null;\n\n const brandLabel = appName || \"Application logo\";\n\n return (\n <div className={`solid-auth-brand ${align === \"center\" ? \"is-center\" : \"\"}`} aria-label={brandLabel}>\n {authLogoSrc ? (\n <span className=\"solid-auth-brand-logo\">\n <img src={authLogoSrc} alt={brandLabel} />\n </span>\n ) : null}\n {appName ? <span className=\"solid-auth-brand-text\">{appName}</span> : null}\n </div>\n );\n };\n\n const authLayout = solidSettingsData?.data?.authPagesLayout || \"center\";\n const authTheme = solidSettingsData?.data?.authPagesTheme === \"dark\" ? \"dark\" : \"light\";\n const isCenter = authLayout === \"center\";\n const isLeft = authLayout === \"left\";\n const isRight = authLayout === \"right\";\n\n const formPane = (\n <div className=\"solid-auth-form-pane solid-login-dark-bg\">\n <div className=\"solid-auth-form-pane-inner\">\n {renderBrand(\"start\")}\n {authChildren}\n </div>\n </div>\n );\n\n const imagePane = (\n <div\n className={`solid-auth-image-pane position-relative ${isLeft ? \"solid-left-layout pane-on-right\" : \"solid-right-layout pane-on-left\"}`.trim()}\n style={{ backgroundImage: `url(${solidSideBanner()})` }}\n >\n {solidSettingsData?.data?.appLogoPosition === \"in_image_view\" &&\n <div className={`solid-logo flex align-items-center gap-3 ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n }\n {solidSettingsData?.data?.showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"grid\">\n <div className=\"col-8 mx-auto\">\n {solidSettingsData?.data?.appSubtitle && <h1 className=\"solid-auth-image-subtitle m-0\">{solidSettingsData?.data?.appSubtitle}</h1>}\n {solidSettingsData?.data?.appTitle && <h1 className=\"solid-auth-image-title mt-0\">{solidSettingsData?.data?.appTitle}</h1>}\n {solidSettingsData?.data?.appDescription && <p className=\"solid-auth-image-helper-text\">{solidSettingsData?.data?.appDescription}</p>}\n </div>\n </div>\n </div>\n }\n </div>\n );\n\n return (\n <div className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`} data-auth-theme={authTheme}>\n {!isCenter && (\n <div className=\"solid-auth-split\">\n {isLeft && formPane}\n {imagePane}\n {isRight && formPane}\n </div>\n )}\n {isCenter && <div className=\"solid-center-layout\">\n <div className=\"solid-auth-center-stack\">\n {renderBrand(\"center\")}\n {authChildren}\n </div>\n </div>}\n {/* {solidSettingsData?.data?.showLegalLinks === true && */}\n <div className={`absolute hidden md:flex ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'solid-auth-footer flex flex-column sm:flex-row align-items-center justify-content-between' : 'solid-auth-footer-2 grid'}`}>\n {solidSettingsData?.data?.authPagesLayout !== 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true &&\n <p className={`solid-auth-input-label text-sm m-0 ${solidSettingsData?.data?.authPagesLayout}`}>Made with <svg className=\"mx-1\" width=\"12px\" height=\"12px\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"> <path d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\" fill=\"#ff0000\"></path> </g></svg> in Mumbai</p>\n }\n </div>\n }\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true && <div className={`flex flex-column sm:flex-row align-items-center gap-1 sm:gap-5 solid-auth-subtitle mr-3 ${solidSettingsData?.data?.authPagesLayout === 'left' ? 'left' : ''}`}>\n {solidSettingsData?.data?.appTnc !== \"\" && <p className=\"m-0 \"> <Link className=\"text-sm no-underline font-normal\" href={solidSettingsData?.data?.appTnc}>Terms of Service</Link></p>}\n {solidSettingsData?.data?.appPrivacyPolicy !== \"\" && <p className=\"m-0 \"> <Link className=\"text-sm no-underline font-normal\" href={solidSettingsData?.data?.appPrivacyPolicy}>Privacy Policy.</Link></p>}\n </div>\n }\n {solidSettingsData?.data?.copyright !== \"\" &&\n <div className=\"mt-1\">\n <p className=\"m-0 text-sm font-normal\">{solidSettingsData?.data?.copyright}</p>\n </div>\n }\n </div>\n {\n solidSettingsData?.data?.authPagesLayout === 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true &&\n <p className={`solid-auth-input-label text-sm m-0 right`}>Made with <svg className=\"mx-1\" width=\"12px\" height=\"12px\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"> <path d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\" fill=\"#ff0000\"></path> </g></svg> in Mumbai</p>\n }\n </div>\n }\n </div >\n\n {/* } */}\n <SolidDialog\n visible={isRestricted}\n onHide={handleRegistration}\n header=\"Access Restricted\"\n headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\"\n className=\"solid-confirm-dialog \"\n footer={\n < div className=\"flex align-items-center justify-content-start\" >\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div >\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-4\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog >\n </div >\n )\n}\n"]}
1
+ {"version":3,"file":"AuthLayout.js","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,gBAAgB,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxD,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,SAAS,MAAM,uCAAuC,CAAA;AAC7D,OAAO,+BAA+B,MAAM,mDAAmD,CAAC;AAChG,OAAO,EAAE,2BAA2B,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,IAAM,wBAAwB,GAAG,uCAAuC,CAAC;AAEzE,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAA2C;;QAAzC,QAAQ,cAAA;IAC3B,IAAA,KAAyC,2BAA2B,EAAE,EAArE,OAAO,QAAA,EAAU,iBAAiB,aAAmC,CAAA;IAC5E,IAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAE1C,IAAA,KAA4C,QAAQ,CAAiB,IAAI,CAAC,EAAzE,iBAAiB,QAAA,EAAE,oBAAoB,QAAkC,CAAC;IAC3E,IAAA,MAAkC,QAAQ,CAAC,KAAK,CAAC,EAAhD,YAAY,SAAA,EAAE,eAAe,SAAmB,CAAC;IACxD,IAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,SAAS,CAAC;QACN,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,SAAS,CAAC;;QACN,IAAM,uBAAuB,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,uBAAuB,CAAC;QACjF,IAAI,uBAAuB,KAAK,KAAK,EAAE;YACnC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5B,IAAI,QAAQ,KAAK,gBAAgB,EAAE;gBAC/B,eAAe,CAAC,IAAI,CAAC,CAAC;aACzB;iBAAM;gBACH,eAAe,CAAC,KAAK,CAAC,CAAC;aAC1B;SACJ;aAAM,IAAI,uBAAuB,KAAK,IAAI,EAAE;YACzC,oBAAoB,CAAC,IAAI,CAAC,CAAC;YAC3B,eAAe,CAAC,KAAK,CAAC,CAAC;SAC1B;IACL,CAAC,EAAE,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;IAElC,IAAI,iBAAiB,KAAK,IAAI,IAAI,QAAQ,KAAK,gBAAgB,EAAE;QAC7D,OAAO,CAAC,GAAG,CAAC,gFAAgF,CAAC,CAAC;QAC9F,OAAO,IAAI,CAAC;KACf;IAED,IAAM,YAAY,GAAG,iBAAiB,IAAI,QAAQ,KAAK,gBAAgB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1F,IAAM,kBAAkB,GAAG;QACvB,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC3B,eAAe,CAAC,KAAK,CAAC,CAAC;IAC3B,CAAC,CAAA;IAED,IAAM,eAAe,GAAG;;QACpB,IAAM,MAAM,GAAG,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,CAAC;QAExD,IAAI,GAAG,GAAG,EAAE,CAAC;QAEb,IAAI,MAAM,KAAK,MAAM,EAAE;YACnB,GAAG,GAAG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,6BAA6B,KAAI,wBAAwB,CAAC;SAC5F;aAAM,IAAI,MAAM,KAAK,OAAO,EAAE;YAC3B,GAAG,GAAG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,8BAA8B,KAAI,wBAAwB,CAAC;SAC7F;aAAM,IAAI,MAAM,KAAK,QAAQ,EAAE;YAC5B,GAAG,GAAG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,+BAA+B,KAAK,+BAAuC,CAAC,GAAG,IAAI,+BAA+B,CAAC;SACrJ;QAED,0CAA0C;QAC1C,IAAM,gBAAgB,GAAG,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,CAAC,OAAO,CAAC,MAAI,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,CAAC,MAAM,CAAC,CAAA,CAAC;QAC7E,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,UAAU,CAAC,GAAG,CAAC,CAAA,EAAE;YAC5C,GAAG,GAAG,UAAG,GAAG,CAAC,SAAS,CAAC,cAAI,GAAG,CAAE,CAAC;SACpC;QAED,OAAO,GAAG,CAAC;IACf,CAAC,CAAC;IAEF,IAAM,iBAAiB,GAAG,UAAC,GAAY;QACnC,IAAI,CAAC,GAAG;YAAE,OAAO,EAAE,CAAC;QACpB,IAAM,gBAAgB,GAAG,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,gBAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QACxD,OAAO,UAAG,GAAG,CAAC,SAAS,CAAC,cAAI,GAAG,CAAE,CAAC;IACtC,CAAC,CAAC;IAEF,IAAM,WAAW,GAAG,iBAAiB,CAAC,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,OAAO,KAAI,EAAE,CAAC,CAAC;IAC9E,IAAM,OAAO,GAAG,CAAA,MAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,QAAQ,0CAAE,IAAI,EAAE,KAAI,EAAE,CAAC;IAEhE,IAAM,WAAW,GAAG,UAAC,KAAmC;QAAnC,sBAAA,EAAA,eAAmC;QACpD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAE1C,IAAM,UAAU,GAAG,OAAO,IAAI,kBAAkB,CAAC;QAEjD,OAAO,CACH,eAAK,SAAS,EAAE,2BAAoB,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAE,gBAAc,UAAU,aAC9F,WAAW,CAAC,CAAC,CAAC,CACX,eAAM,SAAS,EAAC,uBAAuB,YACnC,cAAK,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,UAAU,GAAI,GACvC,CACV,CAAC,CAAC,CAAC,IAAI,EACP,OAAO,CAAC,CAAC,CAAC,eAAM,SAAS,EAAC,uBAAuB,YAAE,OAAO,GAAQ,CAAC,CAAC,CAAC,IAAI,IACxE,CACT,CAAC;IACN,CAAC,CAAC;IAEF,IAAM,UAAU,GAAG,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,KAAI,QAAQ,CAAC;IACxE,IAAM,SAAS,GAAG,CAAA,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,MAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IACzE,IAAM,QAAQ,GAAG,UAAU,KAAK,QAAQ,CAAC;IACzC,IAAM,MAAM,GAAG,UAAU,KAAK,MAAM,CAAC;IACrC,IAAM,OAAO,GAAG,UAAU,KAAK,OAAO,CAAC;IAEvC,IAAM,QAAQ,GAAG,CACb,cAAK,SAAS,EAAC,0CAA0C,YACrD,eAAK,SAAS,EAAC,4BAA4B,aACtC,WAAW,CAAC,OAAO,CAAC,EACpB,YAAY,IACX,GACJ,CACT,CAAC;IAEF,IAAM,SAAS,GAAG,CACd,eACI,SAAS,EAAE,kDAA2C,MAAM,CAAC,CAAC,CAAC,iCAAiC,CAAC,CAAC,CAAC,iCAAiC,CAAE,CAAC,IAAI,EAAE,EAC7I,KAAK,EAAE,EAAE,eAAe,EAAE,cAAO,eAAe,EAAE,MAAG,EAAE,aAEtD,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,eAAe;gBACzD,cAAK,SAAS,EAAE,mDAA4C,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,CAAE,YAClG,KAAC,KAAK,IACF,GAAG,EAAC,YAAY,EAChB,GAAG,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,OAAO,KAAI,SAAS,EAClD,SAAS,EAAC,UAAU,EACpB,IAAI,SACN,GACA,EAET,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe;gBACrC,cAAK,SAAS,EAAC,QAAQ,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YACxC,cAAK,SAAS,EAAC,MAAM,YACjB,eAAK,SAAS,EAAC,eAAe,aACzB,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,WAAW,KAAI,aAAI,SAAS,EAAC,+BAA+B,YAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,WAAW,GAAM,EACjI,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,QAAQ,KAAI,aAAI,SAAS,EAAC,6BAA6B,YAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,QAAQ,GAAM,EACzH,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,cAAc,KAAI,YAAG,SAAS,EAAC,8BAA8B,YAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,cAAc,GAAK,IACnI,GACJ,GACJ,IAER,CACT,CAAC;IAEF,OAAO,CACH,eAAK,SAAS,EAAE,mCAA4B,UAAU,yBAAe,SAAS,CAAE,qBAAmB,SAAS,aACvG,CAAC,QAAQ,IAAI,CACV,eAAK,SAAS,EAAC,kBAAkB,aAC5B,MAAM,IAAI,QAAQ,EAClB,SAAS,EACT,OAAO,IAAI,QAAQ,IAClB,CACT,EACA,QAAQ,IAAI,cAAK,SAAS,EAAC,qBAAqB,YAC7C,eAAK,SAAS,EAAC,yBAAyB,aACnC,WAAW,CAAC,QAAQ,CAAC,EACrB,YAAY,IACX,GACJ,EAEN,eAAK,SAAS,EAAE,kCAA2B,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,2FAA2F,CAAC,CAAC,CAAC,0BAA0B,CAAE,aACxN,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,MAAM;wBAChD,cAAK,SAAS,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE,YAC9H,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,cAAc,MAAK,IAAI;gCAC7C,aAAG,SAAS,EAAE,6CAAsC,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,CAAE,2BAAY,eAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAAC,YAAG,EAAE,EAAC,mBAAmB,kBAAc,GAAG,GAAK,EAAA,YAAG,EAAE,EAAC,uBAAuB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAK,EAAA,aAAG,EAAE,EAAC,qBAAqB,kBAAE,eAAM,CAAC,EAAC,qSAAqS,EAAC,IAAI,EAAC,SAAS,GAAQ,SAAK,IAAM,kBAAc,GAExtB,EAEV,eAAK,SAAS,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,EAAE,aAC3G,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,cAAc,MAAK,IAAI,IAAI,eAAK,SAAS,EAAE,kGAA2F,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAE,aAC9N,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,MAAM,MAAK,EAAE,IAAI,aAAG,SAAS,EAAC,MAAM,kBAAE,KAAC,IAAI,IAAC,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,MAAM,iCAAyB,IAAI,EACpL,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,gBAAgB,MAAK,EAAE,IAAI,aAAG,SAAS,EAAC,MAAM,kBAAE,KAAC,IAAI,IAAC,SAAS,EAAC,kCAAkC,EAAC,IAAI,EAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,gBAAgB,gCAAwB,IAAI,IACtM,EAEL,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,SAAS,MAAK,EAAE;gCACtC,cAAK,SAAS,EAAC,MAAM,YACjB,YAAG,SAAS,EAAC,yBAAyB,YAAE,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,SAAS,GAAK,GAC7E,IAER,EAEF,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,MAAM;wBACnD,cAAK,SAAS,EAAE,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,eAAe,MAAK,QAAQ,CAAC,CAAC,CAAC,sDAAsD,CAAC,CAAC,CAAC,EAAE,YAC9H,CAAA,MAAA,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,CAAE,IAAI,0CAAE,cAAc,MAAK,IAAI;gCAC7C,aAAG,SAAS,EAAE,0CAA0C,2BAAY,eAAK,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,MAAM,EAAC,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,aAAC,YAAG,EAAE,EAAC,mBAAmB,kBAAc,GAAG,GAAK,EAAA,YAAG,EAAE,EAAC,uBAAuB,EAAC,aAAa,EAAC,OAAO,EAAC,cAAc,EAAC,OAAO,GAAK,EAAA,aAAG,EAAE,EAAC,qBAAqB,kBAAE,eAAM,CAAC,EAAC,qSAAqS,EAAC,IAAI,EAAC,SAAS,GAAQ,SAAK,IAAM,kBAAc,GAElrB,IAEP,EAGP,MAAC,WAAW,IACR,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,kBAAkB,EAC1B,MAAM,EAAC,mBAAmB,EAC1B,eAAe,EAAC,MAAM,EAAC,gBAAgB,EAAC,WAAW,EACnD,SAAS,EAAC,uBAAuB,EACjC,MAAM,EACF,cAAM,SAAS,EAAC,+CAA+C,YAC3D,KAAC,WAAW,IAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAE,kBAAkB,sBAAqB,GACpE,aAGX,KAAC,YAAY,IAAC,SAAS,EAAC,KAAK,GAAG,EAChC,cAAK,SAAS,EAAC,KAAK,YAChB,8EAA0D,GACxD,IACK,IACZ,CACV,CAAA;AACL,CAAC,CAAA","sourcesContent":["import Link from \"../common/Link\";\nimport { usePathname } from \"../../hooks/usePathname\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useContext, useEffect, useState } from \"react\";\nimport Image from \"../common/Image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';\nimport { useLazyGetAuthSettingsQuery } from \"../../redux/api/solidSettingsApi\";\nimport { env } from \"../../adapters/env\";\nimport { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\nimport { LayoutContext } from \"../layout/context/layoutcontext\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()\n const layoutContext = useContext(LayoutContext);\n\n const [allowRegistration, setAllowRegistration] = useState<boolean | null>(null);\n const [isRestricted, setIsRestricted] = useState(false);\n const pathname = usePathname();\n const router = useRouter();\n\n useEffect(() => {\n trigger(\"\");\n }, [trigger]);\n\n useEffect(() => {\n const allowPublicRegistration = solidSettingsData?.data?.allowPublicRegistration;\n if (allowPublicRegistration === false) {\n setAllowRegistration(false);\n if (pathname === \"/auth/register\") {\n setIsRestricted(true);\n } else {\n setIsRestricted(false);\n }\n } else if (allowPublicRegistration === true) {\n setAllowRegistration(true);\n setIsRestricted(false);\n }\n }, [solidSettingsData, pathname]);\n\n if (allowRegistration === null && pathname === \"/auth/register\") {\n console.log(`AuthLayout returning null because allowRegistration is null for register route`);\n return null;\n }\n\n const authChildren = allowRegistration || pathname !== \"/auth/register\" ? children : null;\n const handleRegistration = () => {\n router.push(\"/auth/login\");\n setIsRestricted(false);\n }\n\n const solidSideBanner = () => {\n const layout = solidSettingsData?.data?.authPagesLayout;\n\n let src = '';\n\n if (layout === 'left') {\n src = solidSettingsData?.data?.authScreenLeftBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'right') {\n src = solidSettingsData?.data?.authScreenRightBackgroundImage || SHADCN_PLACEHOLDER_IMAGE;\n } else if (layout === 'center') {\n src = solidSettingsData?.data?.authScreenCenterBackgroundImage || (AuthScreenCenterBackgroundImage as any).src || AuthScreenCenterBackgroundImage;\n }\n\n // Normalize image path if coming from API\n const isBlobOrAbsolute = src?.startsWith(\"blob:\") || src?.startsWith(\"http\");\n if (!isBlobOrAbsolute && !src?.startsWith(\"/\")) {\n src = `${env(\"API_URL\")}/${src}`;\n }\n\n return src;\n };\n\n const normalizeAssetUrl = (src?: string) => {\n if (!src) return \"\";\n const isBlobOrAbsolute = src.startsWith(\"blob:\") || src.startsWith(\"http\");\n if (isBlobOrAbsolute || src.startsWith(\"/\")) return src;\n return `${env(\"API_URL\")}/${src}`;\n };\n\n const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || \"\");\n const appName = solidSettingsData?.data?.appTitle?.trim() || \"\";\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appName) return null;\n\n const brandLabel = appName || \"Application logo\";\n\n return (\n <div className={`solid-auth-brand ${align === \"center\" ? \"is-center\" : \"\"}`} aria-label={brandLabel}>\n {authLogoSrc ? (\n <span className=\"solid-auth-brand-logo\">\n <img src={authLogoSrc} alt={brandLabel} />\n </span>\n ) : null}\n {appName ? <span className=\"solid-auth-brand-text\">{appName}</span> : null}\n </div>\n );\n };\n\n const authLayout = solidSettingsData?.data?.authPagesLayout || \"center\";\n const authTheme = layoutContext?.themeMode === \"dark\" ? \"dark\" : \"light\";\n const isCenter = authLayout === \"center\";\n const isLeft = authLayout === \"left\";\n const isRight = authLayout === \"right\";\n\n const formPane = (\n <div className=\"solid-auth-form-pane solid-login-dark-bg\">\n <div className=\"solid-auth-form-pane-inner\">\n {renderBrand(\"start\")}\n {authChildren}\n </div>\n </div>\n );\n\n const imagePane = (\n <div\n className={`solid-auth-image-pane position-relative ${isLeft ? \"solid-left-layout pane-on-right\" : \"solid-right-layout pane-on-left\"}`.trim()}\n style={{ backgroundImage: `url(${solidSideBanner()})` }}\n >\n {solidSettingsData?.data?.appLogoPosition === \"in_image_view\" &&\n <div className={`solid-logo flex align-items-center gap-3 ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.data?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n }\n {solidSettingsData?.data?.showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"grid\">\n <div className=\"col-8 mx-auto\">\n {solidSettingsData?.data?.appSubtitle && <h1 className=\"solid-auth-image-subtitle m-0\">{solidSettingsData?.data?.appSubtitle}</h1>}\n {solidSettingsData?.data?.appTitle && <h1 className=\"solid-auth-image-title mt-0\">{solidSettingsData?.data?.appTitle}</h1>}\n {solidSettingsData?.data?.appDescription && <p className=\"solid-auth-image-helper-text\">{solidSettingsData?.data?.appDescription}</p>}\n </div>\n </div>\n </div>\n }\n </div>\n );\n\n return (\n <div className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`} data-auth-theme={authTheme}>\n {!isCenter && (\n <div className=\"solid-auth-split\">\n {isLeft && formPane}\n {imagePane}\n {isRight && formPane}\n </div>\n )}\n {isCenter && <div className=\"solid-center-layout\">\n <div className=\"solid-auth-center-stack\">\n {renderBrand(\"center\")}\n {authChildren}\n </div>\n </div>}\n {/* {solidSettingsData?.data?.showLegalLinks === true && */}\n <div className={`absolute hidden md:flex ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'solid-auth-footer flex flex-column sm:flex-row align-items-center justify-content-between' : 'solid-auth-footer-2 grid'}`}>\n {solidSettingsData?.data?.authPagesLayout !== 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true &&\n <p className={`solid-auth-input-label text-sm m-0 ${solidSettingsData?.data?.authPagesLayout}`}>Made with <svg className=\"mx-1\" width=\"12px\" height=\"12px\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"> <path d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\" fill=\"#ff0000\"></path> </g></svg> in Mumbai</p>\n }\n </div>\n }\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true && <div className={`flex flex-column sm:flex-row align-items-center gap-1 sm:gap-5 solid-auth-subtitle mr-3 ${solidSettingsData?.data?.authPagesLayout === 'left' ? 'left' : ''}`}>\n {solidSettingsData?.data?.appTnc !== \"\" && <p className=\"m-0 \"> <Link className=\"text-sm no-underline font-normal\" href={solidSettingsData?.data?.appTnc}>Terms of Service</Link></p>}\n {solidSettingsData?.data?.appPrivacyPolicy !== \"\" && <p className=\"m-0 \"> <Link className=\"text-sm no-underline font-normal\" href={solidSettingsData?.data?.appPrivacyPolicy}>Privacy Policy.</Link></p>}\n </div>\n }\n {solidSettingsData?.data?.copyright !== \"\" &&\n <div className=\"mt-1\">\n <p className=\"m-0 text-sm font-normal\">{solidSettingsData?.data?.copyright}</p>\n </div>\n }\n </div>\n {\n solidSettingsData?.data?.authPagesLayout === 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'col-6 lg:col-5 xl:col-6 flex justify-content-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true &&\n <p className={`solid-auth-input-label text-sm m-0 right`}>Made with <svg className=\"mx-1\" width=\"12px\" height=\"12px\" viewBox=\"0 0 16 16\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"SVGRepo_bgCarrier\" stroke-width=\"0\"></g><g id=\"SVGRepo_tracerCarrier\" strokeLinecap=\"round\" strokeLinejoin=\"round\"></g><g id=\"SVGRepo_iconCarrier\"> <path d=\"M1.24264 8.24264L8 15L14.7574 8.24264C15.553 7.44699 16 6.36786 16 5.24264V5.05234C16 2.8143 14.1857 1 11.9477 1C10.7166 1 9.55233 1.55959 8.78331 2.52086L8 3.5L7.21669 2.52086C6.44767 1.55959 5.28338 1 4.05234 1C1.8143 1 0 2.8143 0 5.05234V5.24264C0 6.36786 0.44699 7.44699 1.24264 8.24264Z\" fill=\"#ff0000\"></path> </g></svg> in Mumbai</p>\n }\n </div>\n }\n </div >\n\n {/* } */}\n <SolidDialog\n visible={isRestricted}\n onHide={handleRegistration}\n header=\"Access Restricted\"\n headerClassName=\"py-2\" contentClassName=\"px-0 pb-0\"\n className=\"solid-confirm-dialog \"\n footer={\n < div className=\"flex align-items-center justify-content-start\" >\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div >\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-4\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog >\n </div >\n )\n}\n"]}
@@ -1,42 +1,26 @@
1
1
  import Link from "../common/Link";
2
2
  import { usePathname } from "../../hooks/usePathname";
3
3
  import { useRouter } from "../../hooks/useRouter";
4
- import { useEffect, useState } from "react";
4
+ import { useContext, useEffect, useState } from "react";
5
5
  import Image from "../common/Image";
6
6
  import SolidLogo from '../../resources/images/SolidXLogo.svg'
7
7
  import AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';
8
8
  import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
9
9
  import { env } from "../../adapters/env";
10
10
  import { SolidButton, SolidDialog, SolidDivider } from "../shad-cn-ui";
11
+ import { LayoutContext } from "../layout/context/layoutcontext";
11
12
 
12
13
  const SHADCN_PLACEHOLDER_IMAGE = "https://ui.shadcn.com/placeholder.svg";
13
14
 
14
15
  export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
15
16
  const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery()
17
+ const layoutContext = useContext(LayoutContext);
16
18
 
17
19
  const [allowRegistration, setAllowRegistration] = useState<boolean | null>(null);
18
20
  const [isRestricted, setIsRestricted] = useState(false);
19
21
  const pathname = usePathname();
20
22
  const router = useRouter();
21
23
 
22
- // const { changeTheme } = useContext(PrimeReactContext);
23
- // const { layoutConfig, setLayoutConfig } = useContext(LayoutContext);
24
- // const dispatch = useDispatch();
25
- // const _changeTheme = (theme: string, colorScheme: string) => {
26
- // changeTheme?.(layoutConfig.theme, theme, 'theme-css', () => {
27
- // setLayoutConfig((prevState: LayoutConfig) => ({ ...prevState, theme, colorScheme }));
28
- // });
29
- // };
30
- // useEffect(() => {
31
- // const theme = solidSettingsData?.data?.authPagesTheme; // 'dark' or 'light'
32
- // if (theme) {
33
- // dispatch(toggleTheme()); // Dispatch Redux action
34
- // _changeTheme(
35
- // theme === "dark" ? "solid-dark-purple" : "solid-light-purple",
36
- // theme
37
- // );
38
- // }
39
- // }, [solidSettingsData]);
40
24
  useEffect(() => {
41
25
  trigger("");
42
26
  }, [trigger]);
@@ -117,7 +101,7 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
117
101
  };
118
102
 
119
103
  const authLayout = solidSettingsData?.data?.authPagesLayout || "center";
120
- const authTheme = solidSettingsData?.data?.authPagesTheme === "dark" ? "dark" : "light";
104
+ const authTheme = layoutContext?.themeMode === "dark" ? "dark" : "light";
121
105
  const isCenter = authLayout === "center";
122
106
  const isLeft = authLayout === "left";
123
107
  const isRight = authLayout === "right";
@@ -1 +1 @@
1
- {"version":3,"file":"AuthTabs.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,GAAG,GAAG;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,QAAQ,oCAAqC,aAAa,mDAsBtE,CAAC"}
1
+ {"version":3,"file":"AuthTabs.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,KAAK,GAAG,GAAG;IACT,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;CAC1B,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,eAAO,MAAM,QAAQ,oCAAqC,aAAa,mDAqBtE,CAAC"}
@@ -6,14 +6,14 @@ export var AuthTabs = function (_a) {
6
6
  if (!tabs.length)
7
7
  return null;
8
8
  var activeValue = ((_b = tabs[activeIndex]) === null || _b === void 0 ? void 0 : _b.key) || tabs[0].key;
9
- return (_jsx(SolidTabGroup, { className: "solid-auth-tabs", listClassName: "solid-auth-tabs-list", panelClassName: "solid-auth-tabs-panel", tabs: tabs.map(function (tab) { return ({
10
- value: tab.key,
11
- label: tab.label,
12
- content: tab.content,
13
- }); }), value: activeValue, onValueChange: function (value) {
14
- var nextIndex = tabs.findIndex(function (tab) { return tab.key === value; });
15
- if (nextIndex >= 0)
16
- onChange(nextIndex);
17
- } }));
9
+ return (_jsx("div", { className: "solid-auth-tabs", children: _jsx(SolidTabGroup, { tabs: tabs.map(function (tab) { return ({
10
+ value: tab.key,
11
+ label: tab.label,
12
+ content: tab.content,
13
+ }); }), value: activeValue, onValueChange: function (value) {
14
+ var nextIndex = tabs.findIndex(function (tab) { return tab.key === value; });
15
+ if (nextIndex >= 0)
16
+ onChange(nextIndex);
17
+ } }) }));
18
18
  };
19
19
  //# sourceMappingURL=AuthTabs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AuthTabs.js","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAA8C;;QAA5C,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACpD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAM,WAAW,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,0CAAE,GAAG,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1D,OAAO,CACL,KAAC,aAAa,IACZ,SAAS,EAAC,iBAAiB,EAC3B,aAAa,EAAC,sBAAsB,EACpC,cAAc,EAAC,uBAAuB,EACtC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;YACvB,KAAK,EAAE,GAAG,CAAC,GAAG;YACd,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,EAJsB,CAItB,CAAC,EACH,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,UAAC,KAAK;YACnB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,GAAG,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC;YAC7D,IAAI,SAAS,IAAI,CAAC;gBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC,GACD,CACH,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { SolidTabGroup } from \"../shad-cn-ui\";\n\ntype Tab = {\n key: string;\n label: string;\n content: React.ReactNode;\n};\n\ntype AuthTabsProps = {\n tabs: Tab[];\n activeIndex: number;\n onChange: (index: number) => void;\n};\n\nexport const AuthTabs = ({ tabs, activeIndex, onChange }: AuthTabsProps) => {\n if (!tabs.length) return null;\n\n const activeValue = tabs[activeIndex]?.key || tabs[0].key;\n\n return (\n <SolidTabGroup\n className=\"solid-auth-tabs\"\n listClassName=\"solid-auth-tabs-list\"\n panelClassName=\"solid-auth-tabs-panel\"\n tabs={tabs.map((tab) => ({\n value: tab.key,\n label: tab.label,\n content: tab.content,\n }))}\n value={activeValue}\n onValueChange={(value) => {\n const nextIndex = tabs.findIndex((tab) => tab.key === value);\n if (nextIndex >= 0) onChange(nextIndex);\n }}\n />\n );\n};\n"]}
1
+ {"version":3,"file":"AuthTabs.js","sourceRoot":"","sources":["../../../src/components/auth/AuthTabs.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAc9C,MAAM,CAAC,IAAM,QAAQ,GAAG,UAAC,EAA8C;;QAA5C,IAAI,UAAA,EAAE,WAAW,iBAAA,EAAE,QAAQ,cAAA;IACpD,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE9B,IAAM,WAAW,GAAG,CAAA,MAAA,IAAI,CAAC,WAAW,CAAC,0CAAE,GAAG,KAAI,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAE1D,OAAO,CACL,cAAK,SAAS,EAAC,iBAAiB,YAC9B,KAAC,aAAa,IACZ,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,CAAC;gBACvB,KAAK,EAAE,GAAG,CAAC,GAAG;gBACd,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,OAAO,EAAE,GAAG,CAAC,OAAO;aACrB,CAAC,EAJsB,CAItB,CAAC,EACH,KAAK,EAAE,WAAW,EAClB,aAAa,EAAE,UAAC,KAAK;gBACnB,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,UAAC,GAAG,IAAK,OAAA,GAAG,CAAC,GAAG,KAAK,KAAK,EAAjB,CAAiB,CAAC,CAAC;gBAC7D,IAAI,SAAS,IAAI,CAAC;oBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC,GACD,GACE,CACP,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import React from \"react\";\nimport { SolidTabGroup } from \"../shad-cn-ui\";\n\ntype Tab = {\n key: string;\n label: string;\n content: React.ReactNode;\n};\n\ntype AuthTabsProps = {\n tabs: Tab[];\n activeIndex: number;\n onChange: (index: number) => void;\n};\n\nexport const AuthTabs = ({ tabs, activeIndex, onChange }: AuthTabsProps) => {\n if (!tabs.length) return null;\n\n const activeValue = tabs[activeIndex]?.key || tabs[0].key;\n\n return (\n <div className=\"solid-auth-tabs\">\n <SolidTabGroup\n tabs={tabs.map((tab) => ({\n value: tab.key,\n label: tab.label,\n content: tab.content,\n }))}\n value={activeValue}\n onValueChange={(value) => {\n const nextIndex = tabs.findIndex((tab) => tab.key === value);\n if (nextIndex >= 0) onChange(nextIndex);\n }}\n />\n </div>\n );\n};\n"]}
@@ -19,20 +19,19 @@ export const AuthTabs = ({ tabs, activeIndex, onChange }: AuthTabsProps) => {
19
19
  const activeValue = tabs[activeIndex]?.key || tabs[0].key;
20
20
 
21
21
  return (
22
- <SolidTabGroup
23
- className="solid-auth-tabs"
24
- listClassName="solid-auth-tabs-list"
25
- panelClassName="solid-auth-tabs-panel"
26
- tabs={tabs.map((tab) => ({
27
- value: tab.key,
28
- label: tab.label,
29
- content: tab.content,
30
- }))}
31
- value={activeValue}
32
- onValueChange={(value) => {
33
- const nextIndex = tabs.findIndex((tab) => tab.key === value);
34
- if (nextIndex >= 0) onChange(nextIndex);
35
- }}
36
- />
22
+ <div className="solid-auth-tabs">
23
+ <SolidTabGroup
24
+ tabs={tabs.map((tab) => ({
25
+ value: tab.key,
26
+ label: tab.label,
27
+ content: tab.content,
28
+ }))}
29
+ value={activeValue}
30
+ onValueChange={(value) => {
31
+ const nextIndex = tabs.findIndex((tab) => tab.key === value);
32
+ if (nextIndex >= 0) onChange(nextIndex);
33
+ }}
34
+ />
35
+ </div>
37
36
  );
38
37
  };
@@ -0,0 +1,3 @@
1
+ declare const SolidOTPVerify: () => import("react/jsx-runtime").JSX.Element;
2
+ export default SolidOTPVerify;
3
+ //# sourceMappingURL=SolidOTPVerify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidOTPVerify.d.ts","sourceRoot":"./","sources":["components/auth/SolidOTPVerify.tsx"],"names":[],"mappings":"AAiBA,QAAA,MAAM,cAAc,+CAmHnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,67 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { Form, Formik } from "formik";
4
+ import { signIn } from "next-auth/react";
5
+ import Link from "next/link";
6
+ import { useRouter } from "next/navigation";
7
+ import { Button } from "primereact/button";
8
+ import { InputOtp } from "primereact/inputotp";
9
+ import { Message } from "primereact/message";
10
+ import { Toast } from "primereact/toast";
11
+ import { useRef, useState } from "react";
12
+ import * as Yup from "yup";
13
+ import { useSelector } from "react-redux";
14
+ import Image from "next/image";
15
+ import SolidLogo from '../../resources/images/SolidXLogo.svg';
16
+ import { ERROR_MESSAGES } from "../../constants/error-messages";
17
+ const SolidOTPVerify = () => {
18
+ // const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
19
+ // useEffect(() => {
20
+ // trigger("") // Fetch settings on mount
21
+ // }, [trigger])
22
+ const solidSettingsData = useSelector((state) => state.settingsState?.solidSettings);
23
+ const [otp, setOTP] = useState();
24
+ const toast = useRef(null);
25
+ const router = useRouter();
26
+ const [password, setPassword] = useState('');
27
+ const [checked, setChecked] = useState(false);
28
+ const validationSchema = Yup.object({
29
+ email: Yup.string()
30
+ .email(ERROR_MESSAGES.FIELD_INVALID(' email address'))
31
+ .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),
32
+ });
33
+ const showToast = (severity, summary, detail) => {
34
+ toast.current?.show({
35
+ severity,
36
+ summary,
37
+ detail,
38
+ ...(severity === "error"
39
+ ? { sticky: true } // stays until user closes
40
+ : { life: 3000 }),
41
+ });
42
+ };
43
+ const isFormFieldValid = (formik, fieldName) => formik.touched[fieldName] && formik.errors[fieldName];
44
+ return (_jsxs(_Fragment, { children: [_jsx(Toast, { ref: toast }), _jsxs("div", { className: `auth-container ${solidSettingsData?.authPagesLayout === 'center' ? 'center' : 'side'}`, style: { minWidth: 480 }, children: [solidSettingsData?.authPagesLayout === 'center' &&
45
+ _jsx("div", { className: "flex justify-content-center", children: _jsx("div", { className: `solid-logo flex align-items-center ${solidSettingsData?.appLogoPosition}`, children: _jsx(Image, { alt: "solid logo", src: solidSettingsData?.appLogo || SolidLogo, className: "relative", fill: true }) }) }), _jsx("h2", { className: `solid-auth-title ${solidSettingsData?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`, children: "OTP Verification" }), _jsx("p", { className: "solid-auth-subtitle text-sm", children: "Please enter the OTP sent to your email to complete verification" }), _jsx(_Fragment, { children: _jsx(Formik, { initialValues: {
46
+ email: "",
47
+ password: "",
48
+ }, validationSchema: validationSchema, onSubmit: async (values) => {
49
+ // Handle form submission
50
+ const email = values.email;
51
+ const password = values.password;
52
+ const response = await signIn("credentials", {
53
+ redirect: false,
54
+ email,
55
+ password,
56
+ });
57
+ if (response?.error) {
58
+ showToast("error", ERROR_MESSAGES.LOGIN_ERROR, response.error);
59
+ }
60
+ else {
61
+ showToast("success", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);
62
+ router.push(`${process.env.NEXT_PUBLIC_LOGIN_REDIRECT_URL}`);
63
+ }
64
+ }, children: (formik) => (_jsxs(Form, { children: [_jsxs("div", { className: "flex flex-column gap-2 px-3", children: [_jsx("label", { htmlFor: "email", className: "solid-auth-input-label", children: "Enter OTP" }), _jsx(InputOtp, { value: otp, onChange: (e) => setOTP(e.value), length: 6, style: { width: '100%' } }), isFormFieldValid(formik, "email") && _jsx(Message, { className: "text-red-500 text-sm", severity: "error", text: formik?.errors?.email?.toString() }), _jsxs("div", { className: "flex align-items-center justify-content-between", children: [_jsx(Button, { type: "button", icon: 'pi pi-refresh', iconPos: "left", link: true, label: "Resend Code", className: "px-0 text-sm font-normal" }), _jsx("p", { className: "m-0 text-sm text-color", children: "Time left: 00:28" })] })] }), _jsx("div", { className: "mt-4", children: _jsx(Button, { type: "submit", className: "w-full font-light auth-submit-button", label: "Verify", disabled: formik.isSubmitting, loading: formik.isSubmitting }) })] })) }) })] }), _jsx("div", { className: "text-center mt-5", children: _jsxs("div", { className: "text-sm text-400 secondary-dark-color", children: ['<', " Back to ", _jsx(Link, { className: "font-bold", href: "/auth/login", children: "Sign In" })] }) })] }));
65
+ };
66
+ export default SolidOTPVerify;
67
+ //# sourceMappingURL=SolidOTPVerify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SolidOTPVerify.js","sourceRoot":"./","sources":["components/auth/SolidOTPVerify.tsx"],"names":[],"mappings":"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","sourcesContent":["\"use client\";\n\nimport { Form, Formik } from \"formik\";\nimport { signIn } from \"next-auth/react\";\nimport Link from \"next/link\";\nimport { useRouter } from \"next/navigation\";\nimport { Button } from \"primereact/button\";\nimport { InputOtp } from \"primereact/inputotp\";\nimport { Message } from \"primereact/message\";\nimport { Toast } from \"primereact/toast\";\nimport { useRef, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { useSelector } from \"react-redux\";\nimport Image from \"next/image\";\nimport SolidLogo from '../../resources/images/SolidXLogo.svg'\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\n\nconst SolidOTPVerify = () => {\n\n // const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();\n // useEffect(() => {\n // trigger(\"\") // Fetch settings on mount\n // }, [trigger])\n\n const solidSettingsData = useSelector((state: any) => state.settingsState?.solidSettings);\n\n const [otp, setOTP] = useState<number | any>();\n\n const toast = useRef<Toast>(null);\n const router = useRouter();\n\n const [password, setPassword] = useState('');\n const [checked, setChecked] = useState<boolean>(false);\n\n const validationSchema = Yup.object({\n email: Yup.string()\n .email(ERROR_MESSAGES.FIELD_INVALID(' email address'))\n .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),\n });\n\n const showToast = (severity: \"success\" | \"error\", summary: string, detail: string) => {\n toast.current?.show({\n severity,\n summary,\n detail,\n ...(severity === \"error\"\n ? { sticky: true } // stays until user closes\n : { life: 3000 }),\n });\n };\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n\n return (\n <>\n <Toast ref={toast} />\n <div className={`auth-container ${solidSettingsData?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>\n {solidSettingsData?.authPagesLayout === 'center' &&\n <div className=\"flex justify-content-center\">\n <div className={`solid-logo flex align-items-center ${solidSettingsData?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={solidSettingsData?.appLogo || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n </div>\n }\n <h2 className={`solid-auth-title ${solidSettingsData?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>OTP Verification</h2>\n <p className=\"solid-auth-subtitle text-sm\">\n Please enter the OTP sent to your email to complete verification\n </p>\n <>\n <Formik\n initialValues={{\n email: \"\",\n password: \"\",\n }}\n validationSchema={validationSchema}\n onSubmit={async (values) => {\n // Handle form submission\n const email = values.email;\n const password = values.password;\n\n const response = await signIn(\"credentials\", {\n redirect: false,\n email,\n password,\n });\n if (response?.error) {\n showToast(\"error\", ERROR_MESSAGES.LOGIN_ERROR, response.error);\n } else {\n showToast(\"success\", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);\n router.push(`${process.env.NEXT_PUBLIC_LOGIN_REDIRECT_URL}`);\n }\n\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-column gap-2 px-3\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">Enter OTP</label>\n <InputOtp value={otp} onChange={(e) => setOTP(e.value)} length={6} style={{ width: '100%' }} />\n {isFormFieldValid(formik, \"email\") && <Message\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.email?.toString()}\n />}\n <div className=\"flex align-items-center justify-content-between\">\n <Button type=\"button\" icon='pi pi-refresh' iconPos=\"left\" link label=\"Resend Code\" className=\"px-0 text-sm font-normal\" />\n <p className=\"m-0 text-sm text-color\">\n Time left: 00:28\n </p>\n </div>\n </div>\n <div className=\"mt-4\">\n <Button type=\"submit\" className=\"w-full font-light auth-submit-button\" label=\"Verify\" disabled={formik.isSubmitting} loading={formik.isSubmitting} />\n </div>\n </Form>\n )}\n </Formik>\n </>\n </div>\n <div className=\"text-center mt-5\">\n <div className=\"text-sm text-400 secondary-dark-color\">\n {'<'} Back to <Link className=\"font-bold\" href=\"/auth/login\">Sign In</Link>\n </div>\n </div>\n </>\n );\n};\n\nexport default SolidOTPVerify;"]}
@@ -0,0 +1,133 @@
1
+ "use client";
2
+
3
+ import { Form, Formik } from "formik";
4
+ import { signIn } from "next-auth/react";
5
+ import Link from "next/link";
6
+ import { useRouter } from "next/navigation";
7
+ import { Button } from "primereact/button";
8
+ import { InputOtp } from "primereact/inputotp";
9
+ import { Message } from "primereact/message";
10
+ import { Toast } from "primereact/toast";
11
+ import { useEffect, useRef, useState } from "react";
12
+ import * as Yup from "yup";
13
+ import Image from "next/image";
14
+ import SolidLogo from '../../resources/images/SolidXLogo.svg'
15
+ import { ERROR_MESSAGES } from "../../constants/error-messages";
16
+ import { useLazyGetAuthSettingsQuery } from "../../redux/api/solidSettingsApi";
17
+
18
+ const SolidOTPVerify = () => {
19
+
20
+ const [trigger, { data: solidSettingsData }] = useLazyGetAuthSettingsQuery();
21
+ useEffect(() => {
22
+ trigger("") // Fetch settings on mount
23
+ }, [trigger])
24
+
25
+ const [otp, setOTP] = useState<number | any>();
26
+
27
+ const toast = useRef<Toast>(null);
28
+ const router = useRouter();
29
+
30
+ const [password, setPassword] = useState('');
31
+ const [checked, setChecked] = useState<boolean>(false);
32
+
33
+ const validationSchema = Yup.object({
34
+ email: Yup.string()
35
+ .email(ERROR_MESSAGES.FIELD_INVALID(' email address'))
36
+ .required(ERROR_MESSAGES.FIELD_REUQIRED('Email')),
37
+ });
38
+
39
+ const showToast = (severity: "success" | "error", summary: string, detail: string) => {
40
+ toast.current?.show({
41
+ severity,
42
+ summary,
43
+ detail,
44
+ ...(severity === "error"
45
+ ? { sticky: true } // stays until user closes
46
+ : { life: 3000 }),
47
+ });
48
+ };
49
+
50
+ const isFormFieldValid = (formik: any, fieldName: string) =>
51
+ formik.touched[fieldName] && formik.errors[fieldName];
52
+
53
+ return (
54
+ <>
55
+ <Toast ref={toast} />
56
+ <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`} style={{ minWidth: 480 }}>
57
+ {solidSettingsData?.data?.authPagesLayout === 'center' &&
58
+ <div className="flex justify-content-center">
59
+ <div className={`solid-logo flex align-items-center ${solidSettingsData?.data?.appLogoPosition}`}>
60
+ <Image
61
+ alt="solid logo"
62
+ src={solidSettingsData?.data?.appLogo || SolidLogo}
63
+ className="relative"
64
+ fill
65
+ />
66
+ </div>
67
+ </div>
68
+ }
69
+ <h2 className={`solid-auth-title ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'text-center' : 'text-left'}`}>OTP Verification</h2>
70
+ <p className="solid-auth-subtitle text-sm">
71
+ Please enter the OTP sent to your email to complete verification
72
+ </p>
73
+ <>
74
+ <Formik
75
+ initialValues={{
76
+ email: "",
77
+ password: "",
78
+ }}
79
+ validationSchema={validationSchema}
80
+ onSubmit={async (values) => {
81
+ // Handle form submission
82
+ const email = values.email;
83
+ const password = values.password;
84
+
85
+ const response = await signIn("credentials", {
86
+ redirect: false,
87
+ email,
88
+ password,
89
+ });
90
+ if (response?.error) {
91
+ showToast("error", ERROR_MESSAGES.LOGIN_ERROR, response.error);
92
+ } else {
93
+ showToast("success", ERROR_MESSAGES.LOGIN_SUCCESS, ERROR_MESSAGES.DASHBOARD_REDIRECTING);
94
+ router.push(`${process.env.NEXT_PUBLIC_LOGIN_REDIRECT_URL}`);
95
+ }
96
+
97
+ }}
98
+ >
99
+ {(formik) => (
100
+ <Form>
101
+ <div className="flex flex-column gap-2 px-3">
102
+ <label htmlFor="email" className="solid-auth-input-label">Enter OTP</label>
103
+ <InputOtp value={otp} onChange={(e) => setOTP(e.value)} length={6} style={{ width: '100%' }} />
104
+ {isFormFieldValid(formik, "email") && <Message
105
+ className="text-red-500 text-sm"
106
+ severity="error"
107
+ text={formik?.errors?.email?.toString()}
108
+ />}
109
+ <div className="flex align-items-center justify-content-between">
110
+ <Button type="button" icon='pi pi-refresh' iconPos="left" link label="Resend Code" className="px-0 text-sm font-normal" />
111
+ <p className="m-0 text-sm text-color">
112
+ Time left: 00:28
113
+ </p>
114
+ </div>
115
+ </div>
116
+ <div className="mt-4">
117
+ <Button type="submit" className="w-full font-light auth-submit-button" label="Verify" disabled={formik.isSubmitting} loading={formik.isSubmitting} />
118
+ </div>
119
+ </Form>
120
+ )}
121
+ </Formik>
122
+ </>
123
+ </div>
124
+ <div className="text-center mt-5">
125
+ <div className="text-sm text-400 secondary-dark-color">
126
+ {'<'} Back to <Link className="font-bold" href="/auth/login">Sign In</Link>
127
+ </div>
128
+ </div>
129
+ </>
130
+ );
131
+ };
132
+
133
+ export default SolidOTPVerify;