@solidxai/core-ui 0.1.12-beta.0 → 0.1.12-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/auth/AuthLayout.d.ts.map +1 -1
- package/dist/components/auth/AuthLayout.js +15 -19
- package/dist/components/auth/AuthLayout.js.map +1 -1
- package/dist/components/auth/AuthLayout.tsx +26 -20
- package/dist/components/auth/SolidLogin.d.ts.map +1 -1
- package/dist/components/auth/SolidLogin.js +6 -3
- package/dist/components/auth/SolidLogin.js.map +1 -1
- package/dist/components/auth/SolidLogin.tsx +16 -2
- package/dist/components/auth/SolidRegister.d.ts.map +1 -1
- package/dist/components/auth/SolidRegister.js +7 -4
- package/dist/components/auth/SolidRegister.js.map +1 -1
- package/dist/components/auth/SolidRegister.tsx +16 -2
- package/dist/components/common/BackButton.js +1 -1
- package/dist/components/common/BackButton.js.map +1 -1
- package/dist/components/common/BackButton.tsx +1 -1
- package/dist/components/common/CancelButton.js +1 -1
- package/dist/components/common/CancelButton.js.map +1 -1
- package/dist/components/common/CancelButton.tsx +1 -1
- package/dist/components/common/GeneralSettings.d.ts.map +1 -1
- package/dist/components/common/GeneralSettings.js +6 -33
- package/dist/components/common/GeneralSettings.js.map +1 -1
- package/dist/components/common/GeneralSettings.tsx +20 -57
- package/dist/components/common/SettingsComponent.d.ts.map +1 -1
- package/dist/components/common/SettingsComponent.js +1 -9
- package/dist/components/common/SettingsComponent.js.map +1 -1
- package/dist/components/common/SettingsComponent.tsx +1 -8
- package/dist/components/common/SolidBreadcrumb.js +1 -1
- package/dist/components/common/SolidBreadcrumb.js.map +1 -1
- package/dist/components/common/SolidBreadcrumb.tsx +2 -2
- package/dist/components/common/SolidFaviconProvider.d.ts.map +1 -1
- package/dist/components/common/SolidFaviconProvider.js +1 -8
- package/dist/components/common/SolidFaviconProvider.js.map +1 -1
- package/dist/components/common/SolidFaviconProvider.tsx +1 -7
- package/dist/components/common/SolidLoadingState.d.ts +10 -0
- package/dist/components/common/SolidLoadingState.d.ts.map +1 -0
- package/dist/components/common/SolidLoadingState.js +8 -0
- package/dist/components/common/SolidLoadingState.js.map +1 -0
- package/dist/components/common/SolidLoadingState.module.css +56 -0
- package/dist/components/common/SolidLoadingState.tsx +28 -0
- package/dist/components/core/card/CardItem.d.ts.map +1 -1
- package/dist/components/core/card/CardItem.js +3 -4
- package/dist/components/core/card/CardItem.js.map +1 -1
- package/dist/components/core/card/CardItem.tsx +3 -4
- package/dist/components/core/card/SolidCardView.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardView.js +6 -1
- package/dist/components/core/card/SolidCardView.js.map +1 -1
- package/dist/components/core/card/SolidCardView.tsx +6 -1
- package/dist/components/core/card/SolidCardViewConfigure.d.ts.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.js +4 -1
- package/dist/components/core/card/SolidCardViewConfigure.js.map +1 -1
- package/dist/components/core/card/SolidCardViewConfigure.tsx +4 -1
- package/dist/components/core/common/SolidCreateButton.d.ts.map +1 -1
- package/dist/components/core/common/SolidCreateButton.js +2 -13
- package/dist/components/core/common/SolidCreateButton.js.map +1 -1
- package/dist/components/core/common/SolidCreateButton.tsx +2 -15
- package/dist/components/core/common/SolidGlobalSearchElement.d.ts.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.js +34 -15
- package/dist/components/core/common/SolidGlobalSearchElement.js.map +1 -1
- package/dist/components/core/common/SolidGlobalSearchElement.tsx +37 -17
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js +15 -13
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/modelMetadata/list/GenerateModelCodeRowAction.tsx +4 -4
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js +6 -5
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.js.map +1 -1
- package/dist/components/core/extension/solid-core/moduleMetadata/list/GenerateModuleCodeRowAction.tsx +1 -1
- package/dist/components/core/form/SolidFormFooter.d.ts +2 -1
- package/dist/components/core/form/SolidFormFooter.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormFooter.js +48 -14
- package/dist/components/core/form/SolidFormFooter.js.map +1 -1
- package/dist/components/core/form/SolidFormFooter.tsx +50 -4
- package/dist/components/core/form/SolidFormView.d.ts.map +1 -1
- package/dist/components/core/form/SolidFormView.js +52 -50
- package/dist/components/core/form/SolidFormView.js.map +1 -1
- package/dist/components/core/form/SolidFormView.tsx +16 -9
- package/dist/components/core/json/SolidJsonEditor.css +195 -0
- package/dist/components/core/json/SolidJsonEditor.d.ts +19 -0
- package/dist/components/core/json/SolidJsonEditor.d.ts.map +1 -0
- package/dist/components/core/json/SolidJsonEditor.js +109 -0
- package/dist/components/core/json/SolidJsonEditor.js.map +1 -0
- package/dist/components/core/json/SolidJsonEditor.tsx +150 -0
- package/dist/components/core/kanban/KanbanCard.d.ts.map +1 -1
- package/dist/components/core/kanban/KanbanCard.js +2 -10
- package/dist/components/core/kanban/KanbanCard.js.map +1 -1
- package/dist/components/core/kanban/KanbanCard.tsx +2 -10
- package/dist/components/core/kanban/SolidKanbanView.d.ts.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.js +11 -4
- package/dist/components/core/kanban/SolidKanbanView.js.map +1 -1
- package/dist/components/core/kanban/SolidKanbanView.tsx +13 -5
- package/dist/components/core/list/SolidListView.d.ts +2 -0
- package/dist/components/core/list/SolidListView.d.ts.map +1 -1
- package/dist/components/core/list/SolidListView.js +195 -111
- package/dist/components/core/list/SolidListView.js.map +1 -1
- package/dist/components/core/list/SolidListView.tsx +136 -39
- package/dist/components/core/list/SolidListViewConfigure.d.ts.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.js +2 -0
- package/dist/components/core/list/SolidListViewConfigure.js.map +1 -1
- package/dist/components/core/list/SolidListViewConfigure.tsx +2 -0
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.d.ts.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js +16 -19
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.js.map +1 -1
- package/dist/components/core/list/columns/relations/SolidRelationManyToOneColumn.tsx +16 -22
- package/dist/components/core/locales/SolidChatterLocaleTabView.d.ts.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.js +9 -8
- package/dist/components/core/locales/SolidChatterLocaleTabView.js.map +1 -1
- package/dist/components/core/locales/SolidChatterLocaleTabView.tsx +4 -1
- package/dist/components/core/locales/SolidLocale.d.ts.map +1 -1
- package/dist/components/core/locales/SolidLocale.js +1 -2
- package/dist/components/core/locales/SolidLocale.js.map +1 -1
- package/dist/components/core/locales/SolidLocale.tsx +1 -2
- package/dist/components/core/model/CreateModel.d.ts.map +1 -1
- package/dist/components/core/model/CreateModel.js +1 -1
- package/dist/components/core/model/CreateModel.js.map +1 -1
- package/dist/components/core/model/CreateModel.tsx +0 -1
- package/dist/components/core/model/ModelMetaData.d.ts.map +1 -1
- package/dist/components/core/model/ModelMetaData.js +1 -2
- package/dist/components/core/model/ModelMetaData.js.map +1 -1
- package/dist/components/core/model/ModelMetaData.tsx +1 -3
- package/dist/components/core/module/CreateModule.css +70 -2
- package/dist/components/core/module/CreateModule.d.ts.map +1 -1
- package/dist/components/core/module/CreateModule.js +2 -2
- package/dist/components/core/module/CreateModule.js.map +1 -1
- package/dist/components/core/module/CreateModule.tsx +13 -1
- package/dist/components/core/tree/SolidTreeView.d.ts.map +1 -1
- package/dist/components/core/tree/SolidTreeView.js +47 -26
- package/dist/components/core/tree/SolidTreeView.js.map +1 -1
- package/dist/components/core/tree/SolidTreeView.tsx +55 -23
- package/dist/components/layout/AdminTopHeader.js +2 -3
- package/dist/components/layout/AdminTopHeader.js.map +1 -1
- package/dist/components/layout/AdminTopHeader.tsx +2 -2
- package/dist/components/layout/AppSidebar.d.ts.map +1 -1
- package/dist/components/layout/AppSidebar.js +5 -2
- package/dist/components/layout/AppSidebar.js.map +1 -1
- package/dist/components/layout/AppSidebar.tsx +7 -4
- package/dist/components/layout/navbar-two-menu.d.ts.map +1 -1
- package/dist/components/layout/navbar-two-menu.js +6 -4
- package/dist/components/layout/navbar-two-menu.js.map +1 -1
- package/dist/components/layout/navbar-two-menu.tsx +4 -2
- package/dist/components/shad-cn-ui/SolidTabs.d.ts.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.js.map +1 -1
- package/dist/components/shad-cn-ui/SolidTabs.tsx +1 -0
- package/dist/constants/error-messages.d.ts +1 -0
- package/dist/constants/error-messages.d.ts.map +1 -1
- package/dist/constants/error-messages.js +1 -0
- package/dist/constants/error-messages.js.map +1 -1
- package/dist/constants/error-messages.ts +1 -0
- package/dist/helpers/assetUrl.d.ts +3 -0
- package/dist/helpers/assetUrl.d.ts.map +1 -0
- package/dist/helpers/assetUrl.js +22 -0
- package/dist/helpers/assetUrl.js.map +1 -0
- package/dist/helpers/assetUrl.ts +26 -0
- package/dist/helpers/modelViewPersistence.d.ts +5 -0
- package/dist/helpers/modelViewPersistence.d.ts.map +1 -0
- package/dist/helpers/modelViewPersistence.js +168 -0
- package/dist/helpers/modelViewPersistence.js.map +1 -0
- package/dist/helpers/modelViewPersistence.ts +201 -0
- package/dist/helpers/routePaths.d.ts +6 -0
- package/dist/helpers/routePaths.d.ts.map +1 -1
- package/dist/helpers/routePaths.js +13 -0
- package/dist/helpers/routePaths.js.map +1 -1
- package/dist/helpers/routePaths.ts +25 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/index.ts +14 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts +203 -0
- package/dist/redux/api/datasourceIntrospectionApi.d.ts.map +1 -0
- package/dist/redux/api/datasourceIntrospectionApi.js +71 -0
- package/dist/redux/api/datasourceIntrospectionApi.js.map +1 -0
- package/dist/redux/api/datasourceIntrospectionApi.ts +261 -0
- package/dist/redux/api/datasourceManagementApi.d.ts +46 -0
- package/dist/redux/api/datasourceManagementApi.d.ts.map +1 -0
- package/dist/redux/api/datasourceManagementApi.js +35 -0
- package/dist/redux/api/datasourceManagementApi.js.map +1 -0
- package/dist/redux/api/datasourceManagementApi.ts +86 -0
- package/dist/redux/api/solidServiceApi.d.ts +10 -2
- package/dist/redux/api/solidServiceApi.d.ts.map +1 -1
- package/dist/redux/api/solidServiceApi.js +2 -4
- package/dist/redux/api/solidServiceApi.js.map +1 -1
- package/dist/redux/api/solidServiceApi.ts +4 -6
- package/dist/redux/store/StoreProvider.d.ts.map +1 -1
- package/dist/redux/store/StoreProvider.js +4 -2
- package/dist/redux/store/StoreProvider.js.map +1 -1
- package/dist/redux/store/StoreProvider.tsx +9 -1
- package/dist/redux/store/defaultStoreConfig.d.ts +28 -1
- package/dist/redux/store/defaultStoreConfig.d.ts.map +1 -1
- package/dist/redux/store/defaultStoreConfig.js +4 -0
- package/dist/redux/store/defaultStoreConfig.js.map +1 -1
- package/dist/redux/store/defaultStoreConfig.ts +4 -0
- package/dist/resources/solid-custom.css +73 -16
- package/dist/routes/guards/AdminGuard.d.ts.map +1 -1
- package/dist/routes/guards/AdminGuard.js +2 -1
- package/dist/routes/guards/AdminGuard.js.map +1 -1
- package/dist/routes/guards/AdminGuard.tsx +7 -1
- package/dist/routes/guards/AuthGuard.d.ts.map +1 -1
- package/dist/routes/guards/AuthGuard.js +2 -1
- package/dist/routes/guards/AuthGuard.js.map +1 -1
- package/dist/routes/guards/AuthGuard.tsx +8 -2
- package/dist/routes/guards/GuestGuard.d.ts.map +1 -1
- package/dist/routes/guards/GuestGuard.js +2 -1
- package/dist/routes/guards/GuestGuard.js.map +1 -1
- package/dist/routes/guards/GuestGuard.tsx +8 -2
- package/dist/routes/pages/admin/core/CardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.js +11 -0
- package/dist/routes/pages/admin/core/CardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/CardPage.tsx +13 -0
- package/dist/routes/pages/admin/core/DashboardPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.js +7 -5
- package/dist/routes/pages/admin/core/DashboardPage.js.map +1 -1
- package/dist/routes/pages/admin/core/DashboardPage.module.css +18 -0
- package/dist/routes/pages/admin/core/DashboardPage.tsx +50 -32
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.css +828 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js +947 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.js.map +1 -0
- package/dist/routes/pages/admin/core/DatasourceIntrospectionPage.tsx +1719 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.css +337 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.d.ts +3 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.d.ts.map +1 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.js +221 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.js.map +1 -0
- package/dist/routes/pages/admin/core/DatasourcesPage.tsx +540 -0
- package/dist/routes/pages/admin/core/KanbanPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.js +11 -0
- package/dist/routes/pages/admin/core/KanbanPage.js.map +1 -1
- package/dist/routes/pages/admin/core/KanbanPage.tsx +13 -0
- package/dist/routes/pages/admin/core/ListPage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.js +25 -2
- package/dist/routes/pages/admin/core/ListPage.js.map +1 -1
- package/dist/routes/pages/admin/core/ListPage.tsx +29 -2
- package/dist/routes/pages/admin/core/TreePage.d.ts.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.js +10 -2
- package/dist/routes/pages/admin/core/TreePage.js.map +1 -1
- package/dist/routes/pages/admin/core/TreePage.tsx +11 -2
- package/dist/routes/solidRoutes.d.ts.map +1 -1
- package/dist/routes/solidRoutes.js +5 -1
- package/dist/routes/solidRoutes.js.map +1 -1
- package/dist/routes/solidRoutes.tsx +4 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;
|
|
1
|
+
{"version":3,"file":"AuthLayout.d.ts","sourceRoot":"","sources":["../../../src/components/auth/AuthLayout.tsx"],"names":[],"mappings":"AAiBA,eAAO,MAAM,UAAU;cAA8B,MAAM,SAAS;6CA6OnE,CAAA"}
|
|
@@ -42,11 +42,11 @@ import { useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
|
42
42
|
import Image from "../common/Image";
|
|
43
43
|
import SolidLogo from '../../resources/images/SolidXLogo.svg';
|
|
44
44
|
import AuthScreenCenterBackgroundImage from '../../resources/images/auth/solid-login-light.png';
|
|
45
|
-
import { env } from "../../adapters/env";
|
|
46
45
|
import { SolidButton, SolidDialog, SolidDivider } from "../shad-cn-ui";
|
|
47
46
|
import { LayoutContext } from "../layout/context/layoutcontext";
|
|
48
47
|
import { solidGet } from "../../http/solidHttp";
|
|
49
48
|
import { AuthSettingsContext } from "./AuthSettingsContext";
|
|
49
|
+
import { normalizeAssetUrl, toCssBackgroundImage } from "../../helpers/assetUrl";
|
|
50
50
|
import { toLegacySettingsShape } from "../../helpers/settingsPayload";
|
|
51
51
|
import { SolidToastProvider } from "../common/SolidToastProvider";
|
|
52
52
|
var SHADCN_PLACEHOLDER_IMAGE = "https://ui.shadcn.com/placeholder.svg";
|
|
@@ -116,7 +116,7 @@ export var AuthLayout = function (_a) {
|
|
|
116
116
|
};
|
|
117
117
|
var solidSideBanner = function () {
|
|
118
118
|
var _a, _b, _c, _d;
|
|
119
|
-
var layout = (_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.authPagesLayout;
|
|
119
|
+
var layout = ((_a = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _a === void 0 ? void 0 : _a.authPagesLayout) || "center";
|
|
120
120
|
var src = '';
|
|
121
121
|
if (layout === 'left') {
|
|
122
122
|
src = ((_b = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _b === void 0 ? void 0 : _b.authScreenLeftBackgroundImage) || SHADCN_PLACEHOLDER_IMAGE;
|
|
@@ -127,22 +127,10 @@ export var AuthLayout = function (_a) {
|
|
|
127
127
|
else if (layout === 'center') {
|
|
128
128
|
src = ((_d = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _d === void 0 ? void 0 : _d.authScreenCenterBackgroundImage) || AuthScreenCenterBackgroundImage.src || AuthScreenCenterBackgroundImage;
|
|
129
129
|
}
|
|
130
|
-
|
|
131
|
-
var isBlobOrAbsolute = (src === null || src === void 0 ? void 0 : src.startsWith("blob:")) || (src === null || src === void 0 ? void 0 : src.startsWith("http"));
|
|
132
|
-
if (!isBlobOrAbsolute && !(src === null || src === void 0 ? void 0 : src.startsWith("/"))) {
|
|
133
|
-
src = "".concat(env("API_URL"), "/").concat(src);
|
|
134
|
-
}
|
|
135
|
-
return src;
|
|
136
|
-
};
|
|
137
|
-
var normalizeAssetUrl = function (src) {
|
|
138
|
-
if (!src)
|
|
139
|
-
return "";
|
|
140
|
-
var isBlobOrAbsolute = src.startsWith("blob:") || src.startsWith("http");
|
|
141
|
-
if (isBlobOrAbsolute || src.startsWith("/"))
|
|
142
|
-
return src;
|
|
143
|
-
return "".concat(env("API_URL"), "/").concat(src);
|
|
130
|
+
return normalizeAssetUrl(src);
|
|
144
131
|
};
|
|
145
132
|
var authLogoSrc = normalizeAssetUrl(((_b = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _b === void 0 ? void 0 : _b.appLogo) || "");
|
|
133
|
+
var authBackgroundSrc = solidSideBanner();
|
|
146
134
|
var appTitle = ((_c = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _c === void 0 ? void 0 : _c.appTitle) || "";
|
|
147
135
|
var appSubtitle = ((_d = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _d === void 0 ? void 0 : _d.appSubtitle) || "";
|
|
148
136
|
var appDescription = ((_e = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _e === void 0 ? void 0 : _e.appDescription) || "";
|
|
@@ -165,10 +153,18 @@ export var AuthLayout = function (_a) {
|
|
|
165
153
|
reloadAuthSettings: loadAuthSettings,
|
|
166
154
|
}); }, [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]);
|
|
167
155
|
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] }) }));
|
|
168
|
-
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:
|
|
169
|
-
_jsx("div", { className: "solid-logo flex items-center gap-4 ".concat((_j = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _j === void 0 ? void 0 : _j.appLogoPosition), children: _jsx(Image, { alt: "solid logo", src: ((_k = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _k === void 0 ? void 0 : _k.appLogo) || SolidLogo, className: "relative", fill: true }) }), showAuthContent &&
|
|
156
|
+
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: toCssBackgroundImage(authBackgroundSrc) }, children: [((_h = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _h === void 0 ? void 0 : _h.appLogoPosition) === "in_image_view" &&
|
|
157
|
+
_jsx("div", { className: "solid-logo flex items-center gap-4 ".concat((_j = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _j === void 0 ? void 0 : _j.appLogoPosition), children: _jsx(Image, { alt: "solid logo", src: normalizeAssetUrl((_k = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _k === void 0 ? void 0 : _k.appLogo) || SolidLogo, className: "relative", fill: true }) }), showAuthContent &&
|
|
170
158
|
_jsx("div", { className: "w-full", style: { zIndex: 1 }, children: _jsx("div", { className: "flex flex-wrap -mx-2 -mt-2", children: _jsxs("div", { className: "w-[66.666667%] px-2 pt-2 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 })] }) }) })] }));
|
|
171
|
-
return (_jsx(AuthSettingsContext.Provider, { value: authSettingsContextValue, children: _jsxs("div", { className: "solid-auth-theme-wrapper ".concat(authLayout, " auth-theme-").concat(authTheme), "data-auth-theme": authTheme,
|
|
159
|
+
return (_jsx(AuthSettingsContext.Provider, { value: authSettingsContextValue, children: _jsxs("div", { className: "solid-auth-theme-wrapper ".concat(authLayout, " auth-theme-").concat(authTheme), "data-auth-theme": authTheme, style: isCenter ? { position: "relative" } : undefined, children: [isCenter && authBackgroundSrc ? (_jsx("div", { "aria-hidden": "true", style: {
|
|
160
|
+
position: "absolute",
|
|
161
|
+
inset: 0,
|
|
162
|
+
zIndex: 0,
|
|
163
|
+
backgroundImage: toCssBackgroundImage(authBackgroundSrc),
|
|
164
|
+
backgroundPosition: "center",
|
|
165
|
+
backgroundRepeat: "no-repeat",
|
|
166
|
+
backgroundSize: "cover",
|
|
167
|
+
} })) : null, _jsx(SolidToastProvider, {}), !isCenter && (_jsxs("div", { className: "solid-auth-split", children: [isLeft && formPane, imagePane, isRight && formPane] })), isCenter && _jsx("div", { className: "solid-center-layout", style: { position: "relative", zIndex: 1 }, children: _jsxs("div", { className: "solid-auth-center-stack", children: [renderBrand("center"), showAuthContent &&
|
|
172
168
|
_jsxs("div", { className: "solid-auth-center-details", children: [appSubtitle ? _jsx("p", { className: "solid-auth-center-subtitle", children: appSubtitle }) : null, appDescription ? _jsx("p", { className: "solid-auth-center-description", children: appDescription }) : null] }), 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-col sm:flex-row items-center justify-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' &&
|
|
173
169
|
_jsx("div", { className: ((_u = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _u === void 0 ? void 0 : _u.authPagesLayout) !== 'center' ? 'w-1/2 px-2 pt-2 flex justify-center' : '', children: ((_v = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _v === void 0 ? void 0 : _v.showLegalLinks) === true &&
|
|
174
170
|
_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-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-col sm:flex-row 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) !== "" &&
|
|
@@ -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 { useCallback, useContext, useEffect, useMemo, 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 { env } from \"../../adapters/env\";\nimport { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\nimport { LayoutContext } from \"../layout/context/layoutcontext\";\nimport { solidGet } from \"../../http/solidHttp\";\nimport { AuthSettingsContext } from \"./AuthSettingsContext\";\nimport { toLegacySettingsShape } from \"../../helpers/settingsPayload\";\nimport { SolidToastProvider } from \"../common/SolidToastProvider\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const layoutContext = useContext(LayoutContext);\n const [solidSettingsData, setSolidSettingsData] = useState<any>(null);\n const [isLoadingAuthSettings, setIsLoadingAuthSettings] = useState(true);\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 loadAuthSettings = useCallback(async () => {\n setIsLoadingAuthSettings(true);\n try {\n const response = await solidGet(\"/setting/wrapped\");\n setSolidSettingsData(toLegacySettingsShape(response?.data ?? null));\n } catch (error) {\n console.error(\"Failed to load auth settings\", error);\n setSolidSettingsData(null);\n } finally {\n setIsLoadingAuthSettings(false);\n }\n }, []);\n\n useEffect(() => {\n loadAuthSettings();\n }, [loadAuthSettings]);\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 const authChildren =\n pathname !== \"/auth/register\" || allowRegistration !== false || isLoadingAuthSettings\n ? children\n : 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 appTitle = solidSettingsData?.data?.appTitle || \"\";\n const appSubtitle = solidSettingsData?.data?.appSubtitle || \"\";\n const appDescription = solidSettingsData?.data?.appDescription || \"\";\n const showAuthContent = solidSettingsData?.data?.showAuthContent === true;\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appTitle) return null;\n\n const brandLabel = appTitle || \"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 {appTitle ? <span className=\"solid-auth-brand-text\">{appTitle}</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 const authSettingsContextValue = useMemo(\n () => ({\n solidSettingsData,\n isLoadingAuthSettings,\n reloadAuthSettings: loadAuthSettings,\n }),\n [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]\n );\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 items-center gap-4 ${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 {showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"w-[66.666667%] px-2 pt-2 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 <AuthSettingsContext.Provider value={authSettingsContextValue}>\n <div className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`} data-auth-theme={authTheme}>\n <SolidToastProvider />\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 {showAuthContent &&\n <div className=\"solid-auth-center-details\">\n {appSubtitle ? <p className=\"solid-auth-center-subtitle\">{appSubtitle}</p> : null}\n {/* {appTitle ? <h1 className=\"solid-auth-center-title\">{appTitle}</h1> : null} */}\n {appDescription ? <p className=\"solid-auth-center-description\">{appDescription}</p> : null}\n </div>\n }\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-col sm:flex-row items-center justify-between' : 'solid-auth-footer-2 grid'}`}>\n {solidSettingsData?.data?.authPagesLayout !== 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'w-1/2 px-2 pt-2 flex justify-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-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true && <div className={`flex flex-col sm:flex-row 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' ? 'w-1/2 lg:w-[41.666667%] xl:w-1/2 px-2 pt-2 flex justify-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 items-center justify-start\">\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div>\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-6\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog>\n </div>\n </AuthSettingsContext.Provider>\n )\n}\n"]}
|
|
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 { useCallback, useContext, useEffect, useMemo, 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 { SolidButton, SolidDialog, SolidDivider } from \"../shad-cn-ui\";\nimport { LayoutContext } from \"../layout/context/layoutcontext\";\nimport { solidGet } from \"../../http/solidHttp\";\nimport { AuthSettingsContext } from \"./AuthSettingsContext\";\nimport { normalizeAssetUrl, toCssBackgroundImage } from \"../../helpers/assetUrl\";\nimport { toLegacySettingsShape } from \"../../helpers/settingsPayload\";\nimport { SolidToastProvider } from \"../common/SolidToastProvider\";\n\nconst SHADCN_PLACEHOLDER_IMAGE = \"https://ui.shadcn.com/placeholder.svg\";\n\nexport const AuthLayout = ({ children }: { children: React.ReactNode }) => {\n const layoutContext = useContext(LayoutContext);\n const [solidSettingsData, setSolidSettingsData] = useState<any>(null);\n const [isLoadingAuthSettings, setIsLoadingAuthSettings] = useState(true);\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 loadAuthSettings = useCallback(async () => {\n setIsLoadingAuthSettings(true);\n try {\n const response = await solidGet(\"/setting/wrapped\");\n setSolidSettingsData(toLegacySettingsShape(response?.data ?? null));\n } catch (error) {\n console.error(\"Failed to load auth settings\", error);\n setSolidSettingsData(null);\n } finally {\n setIsLoadingAuthSettings(false);\n }\n }, []);\n\n useEffect(() => {\n loadAuthSettings();\n }, [loadAuthSettings]);\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 const authChildren =\n pathname !== \"/auth/register\" || allowRegistration !== false || isLoadingAuthSettings\n ? children\n : null;\n const handleRegistration = () => {\n router.push(\"/auth/login\");\n setIsRestricted(false);\n }\n\n const solidSideBanner = () => {\n const layout = solidSettingsData?.data?.authPagesLayout || \"center\";\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 return normalizeAssetUrl(src);\n };\n\n const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || \"\");\n const authBackgroundSrc = solidSideBanner();\n const appTitle = solidSettingsData?.data?.appTitle || \"\";\n const appSubtitle = solidSettingsData?.data?.appSubtitle || \"\";\n const appDescription = solidSettingsData?.data?.appDescription || \"\";\n const showAuthContent = solidSettingsData?.data?.showAuthContent === true;\n\n const renderBrand = (align: \"center\" | \"start\" = \"start\") => {\n if (!authLogoSrc && !appTitle) return null;\n\n const brandLabel = appTitle || \"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 {appTitle ? <span className=\"solid-auth-brand-text\">{appTitle}</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 const authSettingsContextValue = useMemo(\n () => ({\n solidSettingsData,\n isLoadingAuthSettings,\n reloadAuthSettings: loadAuthSettings,\n }),\n [solidSettingsData, isLoadingAuthSettings, loadAuthSettings]\n );\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: toCssBackgroundImage(authBackgroundSrc) }}\n >\n {solidSettingsData?.data?.appLogoPosition === \"in_image_view\" &&\n <div className={`solid-logo flex items-center gap-4 ${solidSettingsData?.data?.appLogoPosition}`}>\n <Image\n alt=\"solid logo\"\n src={normalizeAssetUrl(solidSettingsData?.data?.appLogo) || SolidLogo}\n className=\"relative\"\n fill\n />\n </div>\n }\n {showAuthContent &&\n <div className=\"w-full\" style={{ zIndex: 1 }}>\n <div className=\"flex flex-wrap -mx-2 -mt-2\">\n <div className=\"w-[66.666667%] px-2 pt-2 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 <AuthSettingsContext.Provider value={authSettingsContextValue}>\n <div\n className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`}\n data-auth-theme={authTheme}\n style={isCenter ? { position: \"relative\" } : undefined}\n >\n {isCenter && authBackgroundSrc ? (\n <div\n aria-hidden=\"true\"\n style={{\n position: \"absolute\",\n inset: 0,\n zIndex: 0,\n backgroundImage: toCssBackgroundImage(authBackgroundSrc),\n backgroundPosition: \"center\",\n backgroundRepeat: \"no-repeat\",\n backgroundSize: \"cover\",\n }}\n />\n ) : null}\n <SolidToastProvider />\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\" style={{ position: \"relative\", zIndex: 1 }}>\n <div className=\"solid-auth-center-stack\">\n {renderBrand(\"center\")}\n {showAuthContent &&\n <div className=\"solid-auth-center-details\">\n {appSubtitle ? <p className=\"solid-auth-center-subtitle\">{appSubtitle}</p> : null}\n {/* {appTitle ? <h1 className=\"solid-auth-center-title\">{appTitle}</h1> : null} */}\n {appDescription ? <p className=\"solid-auth-center-description\">{appDescription}</p> : null}\n </div>\n }\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-col sm:flex-row items-center justify-between' : 'solid-auth-footer-2 grid'}`}>\n {solidSettingsData?.data?.authPagesLayout !== 'left' &&\n <div className={solidSettingsData?.data?.authPagesLayout !== 'center' ? 'w-1/2 px-2 pt-2 flex justify-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-center' : ''}>\n {solidSettingsData?.data?.showLegalLinks === true && <div className={`flex flex-col sm:flex-row 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' ? 'w-1/2 lg:w-[41.666667%] xl:w-1/2 px-2 pt-2 flex justify-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 items-center justify-start\">\n <SolidButton size=\"sm\" onClick={handleRegistration}>Close</SolidButton>\n </div>\n }\n >\n <SolidDivider className=\"m-0\" />\n <div className=\"p-6\">\n <p>Sign-up is not available. Please contact the admin.</p>\n </div>\n </SolidDialog>\n </div>\n </AuthSettingsContext.Provider>\n )\n}\n"]}
|
|
@@ -5,11 +5,11 @@ import { useCallback, useContext, useEffect, useMemo, 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
|
-
import { env } from "../../adapters/env";
|
|
9
8
|
import { SolidButton, SolidDialog, SolidDivider } from "../shad-cn-ui";
|
|
10
9
|
import { LayoutContext } from "../layout/context/layoutcontext";
|
|
11
10
|
import { solidGet } from "../../http/solidHttp";
|
|
12
11
|
import { AuthSettingsContext } from "./AuthSettingsContext";
|
|
12
|
+
import { normalizeAssetUrl, toCssBackgroundImage } from "../../helpers/assetUrl";
|
|
13
13
|
import { toLegacySettingsShape } from "../../helpers/settingsPayload";
|
|
14
14
|
import { SolidToastProvider } from "../common/SolidToastProvider";
|
|
15
15
|
|
|
@@ -67,7 +67,7 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
const solidSideBanner = () => {
|
|
70
|
-
const layout = solidSettingsData?.data?.authPagesLayout;
|
|
70
|
+
const layout = solidSettingsData?.data?.authPagesLayout || "center";
|
|
71
71
|
|
|
72
72
|
let src = '';
|
|
73
73
|
|
|
@@ -79,23 +79,11 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
79
79
|
src = solidSettingsData?.data?.authScreenCenterBackgroundImage || (AuthScreenCenterBackgroundImage as any).src || AuthScreenCenterBackgroundImage;
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
|
|
83
|
-
const isBlobOrAbsolute = src?.startsWith("blob:") || src?.startsWith("http");
|
|
84
|
-
if (!isBlobOrAbsolute && !src?.startsWith("/")) {
|
|
85
|
-
src = `${env("API_URL")}/${src}`;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
return src;
|
|
89
|
-
};
|
|
90
|
-
|
|
91
|
-
const normalizeAssetUrl = (src?: string) => {
|
|
92
|
-
if (!src) return "";
|
|
93
|
-
const isBlobOrAbsolute = src.startsWith("blob:") || src.startsWith("http");
|
|
94
|
-
if (isBlobOrAbsolute || src.startsWith("/")) return src;
|
|
95
|
-
return `${env("API_URL")}/${src}`;
|
|
82
|
+
return normalizeAssetUrl(src);
|
|
96
83
|
};
|
|
97
84
|
|
|
98
85
|
const authLogoSrc = normalizeAssetUrl(solidSettingsData?.data?.appLogo || "");
|
|
86
|
+
const authBackgroundSrc = solidSideBanner();
|
|
99
87
|
const appTitle = solidSettingsData?.data?.appTitle || "";
|
|
100
88
|
const appSubtitle = solidSettingsData?.data?.appSubtitle || "";
|
|
101
89
|
const appDescription = solidSettingsData?.data?.appDescription || "";
|
|
@@ -144,13 +132,13 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
144
132
|
const imagePane = (
|
|
145
133
|
<div
|
|
146
134
|
className={`solid-auth-image-pane position-relative ${isLeft ? "solid-left-layout pane-on-right" : "solid-right-layout pane-on-left"}`.trim()}
|
|
147
|
-
style={{ backgroundImage:
|
|
135
|
+
style={{ backgroundImage: toCssBackgroundImage(authBackgroundSrc) }}
|
|
148
136
|
>
|
|
149
137
|
{solidSettingsData?.data?.appLogoPosition === "in_image_view" &&
|
|
150
138
|
<div className={`solid-logo flex items-center gap-4 ${solidSettingsData?.data?.appLogoPosition}`}>
|
|
151
139
|
<Image
|
|
152
140
|
alt="solid logo"
|
|
153
|
-
src={solidSettingsData?.data?.appLogo || SolidLogo}
|
|
141
|
+
src={normalizeAssetUrl(solidSettingsData?.data?.appLogo) || SolidLogo}
|
|
154
142
|
className="relative"
|
|
155
143
|
fill
|
|
156
144
|
/>
|
|
@@ -172,7 +160,25 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
172
160
|
|
|
173
161
|
return (
|
|
174
162
|
<AuthSettingsContext.Provider value={authSettingsContextValue}>
|
|
175
|
-
<div
|
|
163
|
+
<div
|
|
164
|
+
className={`solid-auth-theme-wrapper ${authLayout} auth-theme-${authTheme}`}
|
|
165
|
+
data-auth-theme={authTheme}
|
|
166
|
+
style={isCenter ? { position: "relative" } : undefined}
|
|
167
|
+
>
|
|
168
|
+
{isCenter && authBackgroundSrc ? (
|
|
169
|
+
<div
|
|
170
|
+
aria-hidden="true"
|
|
171
|
+
style={{
|
|
172
|
+
position: "absolute",
|
|
173
|
+
inset: 0,
|
|
174
|
+
zIndex: 0,
|
|
175
|
+
backgroundImage: toCssBackgroundImage(authBackgroundSrc),
|
|
176
|
+
backgroundPosition: "center",
|
|
177
|
+
backgroundRepeat: "no-repeat",
|
|
178
|
+
backgroundSize: "cover",
|
|
179
|
+
}}
|
|
180
|
+
/>
|
|
181
|
+
) : null}
|
|
176
182
|
<SolidToastProvider />
|
|
177
183
|
{!isCenter && (
|
|
178
184
|
<div className="solid-auth-split">
|
|
@@ -181,7 +187,7 @@ export const AuthLayout = ({ children }: { children: React.ReactNode }) => {
|
|
|
181
187
|
{isRight && formPane}
|
|
182
188
|
</div>
|
|
183
189
|
)}
|
|
184
|
-
{isCenter && <div className="solid-center-layout">
|
|
190
|
+
{isCenter && <div className="solid-center-layout" style={{ position: "relative", zIndex: 1 }}>
|
|
185
191
|
<div className="solid-auth-center-stack">
|
|
186
192
|
{renderBrand("center")}
|
|
187
193
|
{showAuthContent &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,UAAU,yDAA0D,GAAG,
|
|
1
|
+
{"version":3,"file":"SolidLogin.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,UAAU,yDAA0D,GAAG,4CAoY5E,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -54,9 +54,9 @@ import { useAuthSettings } from "./AuthSettingsContext";
|
|
|
54
54
|
var SolidLogin = function (_a) {
|
|
55
55
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
|
|
56
56
|
var signInValidatorLabel = _a.signInValidatorLabel, signInValidatorPlaceholder = _a.signInValidatorPlaceholder;
|
|
57
|
-
var
|
|
57
|
+
var _r = useAuthSettings(), solidSettingsData = _r.solidSettingsData, isLoadingAuthSettings = _r.isLoadingAuthSettings;
|
|
58
58
|
var initiateLogin = useInitateLoginMutation()[0];
|
|
59
|
-
var
|
|
59
|
+
var _s = useState(0), activeIndex = _s[0], setActiveIndex = _s[1];
|
|
60
60
|
useEffect(function () {
|
|
61
61
|
sessionStorage.removeItem("app-mounted");
|
|
62
62
|
}, []);
|
|
@@ -259,6 +259,9 @@ var SolidLogin = function (_a) {
|
|
|
259
259
|
};
|
|
260
260
|
var RenderAuthModes = function (_a) {
|
|
261
261
|
var passwordBasedAuth = _a.passwordBasedAuth, passwordLessAuth = _a.passwordLessAuth;
|
|
262
|
+
if (isLoadingAuthSettings) {
|
|
263
|
+
return (_jsxs("div", { className: "solid-auth-empty-state is-loading", "aria-live": "polite", children: [_jsx("p", { className: "solid-auth-empty-title", children: "Loading sign-in options..." }), _jsx("p", { className: "solid-auth-empty-copy", children: "We're fetching the authentication settings for this workspace." })] }));
|
|
264
|
+
}
|
|
262
265
|
if (passwordBasedAuth && passwordLessAuth) {
|
|
263
266
|
return (_jsx(AuthTabs, { activeIndex: activeIndex, onChange: setActiveIndex, tabs: [
|
|
264
267
|
{ key: "with-password", label: "With Password", content: _jsx(PasswordLogin, {}) },
|
|
@@ -272,7 +275,7 @@ var SolidLogin = function (_a) {
|
|
|
272
275
|
return _jsx(PasswordLessLogin, {});
|
|
273
276
|
}
|
|
274
277
|
else {
|
|
275
|
-
return _jsx("p", { children: "No authentication method available" });
|
|
278
|
+
return (_jsxs("div", { className: "solid-auth-empty-state", role: "status", children: [_jsx("p", { className: "solid-auth-empty-title", children: "No authentication method available" }), _jsx("p", { className: "solid-auth-empty-copy", children: "Ask your administrator to enable a password or passwordless sign-in option." })] }));
|
|
276
279
|
}
|
|
277
280
|
};
|
|
278
281
|
var isAnyOAuthEnabled = !!(((_b = solidSettingsData === null || solidSettingsData === void 0 ? void 0 : solidSettingsData.data) === null || _b === void 0 ? void 0 : _b.iamGoogleOAuthEnabled) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidLogin.js","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Form, Formik } from \"formik\";\nimport { signIn } from \"../../adapters/auth/index\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { AuthTabs } from \"./AuthTabs\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidDivider, SolidInput, SolidMessage, SolidPasswordInput, SolidRadioGroup } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\ninterface AuthModesProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n}\nconst SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n const { solidSettingsData } = useAuthSettings();\n\n const [initiateLogin] = useInitateLoginMutation();\n const [activeIndex, setActiveIndex] = useState(0);\n useEffect(() => {\n sessionStorage.removeItem(\"app-mounted\");\n }, [])\n const dispatch = useDispatch();\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n const emailOrUsernameRegex = /^[a-zA-Z0-9._]{2,30}$/;\n\n const PasswordLogin = () => {\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n // email: initialEmail,\n password: \"\",\n // rememberMe: rememberMe,\n }}\n enableReinitialize={false}\n validationSchema={Yup.object({\n identifier: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email or Username\"))\n .test(\n \"email-or-username\",\n ERROR_MESSAGES.FIELD_INVALID(\"email or username\"),\n (value) => {\n // if (!value) return false;\n\n const isEmail = Yup.string().email().isValidSync(value);\n const isUsername = emailOrUsernameRegex.test(value);\n\n return isEmail || isUsername;\n }\n ),\n password: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Password\")),\n })}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n // Handle Remember Me\n // if (values.rememberMe) {\n // localStorage.setItem(\"rememberedEmail\", values.email);\n // } else {\n // localStorage.removeItem(\"rememberedEmail\");\n // }\n const response = await signIn(\"credentials\", {\n redirect: false,\n identifier: values.identifier,\n password: values.password,\n });\n\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n setErrors({\n identifier: ERROR_MESSAGES.INVALID_CREDENTIALS,\n password: ERROR_MESSAGES.INVALID_CREDENTIALS,\n });\n } else {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (error: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: error?.data ? error?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false); // Re-enable the button after submission\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <SolidInput\n id=\"identifier\"\n name=\"identifier\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email or Username\"}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n onBlur={formik.handleBlur}\n aria-invalid={!!isFormFieldValid(formik, \"identifier\")}\n className=\"w-full\"\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"identifier\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />\n )}\n </div>\n <div className=\"flex flex-col gap-1 mt-4\" style={{}}>\n <div className=\"flex items-center justify-between\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Password</label>\n <Link href={\"/auth/initiate-forgot-password\"} className=\"solid-auth-inline-link\" tabIndex={-1}>Forgot your password?</Link>\n </div>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggle\n className=\"w-full\"\n aria-invalid={!!isFormFieldValid(formik, \"password\")}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"password\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.password?.toString()}\n />\n )}\n </div>\n {/* <div className=\"flex items-center mt-6\">\n <Checkbox inputId=\"remember\" onChange={(e: any) => setChecked(e.checked)} checked={checked} />\n <label htmlFor=\"remember\" className=\"ml-2\">Remember me</label>\n </div> */}\n <div className=\"mt-6\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Sign In\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessLogin = () => {\n const validationType = solidSettingsData?.data?.passwordlessLoginValidateWhat || \"email\";\n const [selectedAuthMethod, setSelectedAuthMethod] = useState<\"email\" | \"mobile\">(\"email\");\n\n const getFieldConfig = () => {\n if (validationType === \"selectable\") {\n if (selectedAuthMethod === \"mobile\") {\n return {\n label: \"Mobile Number / Username\",\n placeholder: \"Enter your mobile number or username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n } else {\n return {\n label: \"Email Address / Username\",\n placeholder: \"Enter your email or username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n }\n switch (validationType) {\n case \"mobile\":\n return {\n label: signInValidatorLabel || \"Mobile Number / Username\",\n placeholder: signInValidatorPlaceholder || \"Enter your mobile number / username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n case \"email\":\n default:\n return {\n label: signInValidatorLabel || \"Email / Username\",\n placeholder: signInValidatorPlaceholder || \"Email ID / username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n };\n\n const fieldConfig = getFieldConfig();\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n }}\n // validationSchema={\n // fieldConfig.validationSchema \n // ? Yup.object({\n // identifier: fieldConfig.validationSchema\n // })\n // : Yup.object({\n // identifier: Yup.string().required(\"required\"),\n // })\n // }\n validationSchema={\n Yup.object({ identifier: Yup.string().required(\"Required\") })\n }\n enableReinitialize={false}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const RESEND_OTP_KEY = `resendOtpLogin_${values.identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n\n // Use selectedAuthMethod for selectable, otherwise use fieldConfig.type\n const authType = validationType === \"selectable\" ? selectedAuthMethod : fieldConfig.type;\n\n const payload: { identifier: string; type?: string } = {\n identifier: values.identifier,\n };\n if (validationType === \"selectable\") {\n payload.type = selectedAuthMethod;\n }\n\n const storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);\n const now = Date.now();\n if (storedTimeStr) {\n const lastSent = parseInt(storedTimeStr, 10);\n const elapsed = Math.floor((now - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n const formatted = formatTimeLeft(remaining);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.PLEASE_WAIT, detail: ERROR_MESSAGES.OPT_FORMAT(formatted) }));\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateLogin(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n const identifier = values.identifier;\n localStorage.setItem(`resendOtpLogin_${identifier}`, Date.now().toString());\n router.push(`/auth/initiate-login?identifier=${encodeURIComponent(identifier)}&type=${authType}`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n setErrors({\n identifier: \"Invalid Credentials\",\n });\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {/* Radio buttons for selectable type */}\n {validationType === \"selectable\" && (\n <div className=\"flex flex-col gap-4 mt-4\">\n <label className=\"solid-auth-input-label\">Select Authentication Method</label>\n <SolidRadioGroup\n name=\"authMethod\"\n value={selectedAuthMethod}\n options={[\n { label: \"Email / Username\", value: \"email\" },\n { label: \"Mobile / Username\", value: \"mobile\" },\n ]}\n onChange={(value) => {\n setSelectedAuthMethod(value);\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"solid-auth-radio-options flex gap-6 flex-wrap\"\n />\n </div>\n )}\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"identifier\" className=\"solid-auth-input-label\">{fieldConfig.label}</label>\n <SolidInput\n id=\"identifier\"\n name=\"identifier\"\n placeholder={fieldConfig.placeholder}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n onBlur={formik.handleBlur}\n aria-invalid={!!isFormFieldValid(formik, \"identifier\")}\n className=\"w-full\"\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"identifier\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={signInValidatorLabel ? `${signInValidatorLabel} is ${formik?.errors?.identifier?.toString()}` : formik?.errors?.identifier?.toString()}\n />\n )}\n </div>\n <div className=\"mt-6\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Sign In\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth }) => {\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <AuthTabs\n activeIndex={activeIndex}\n onChange={setActiveIndex}\n tabs={[\n { key: \"with-password\", label: \"With Password\", content: <PasswordLogin /> },\n { key: \"without-password\", label: \"Without Password\", content: <PasswordLessLogin /> },\n ]}\n />\n );\n } else if (passwordBasedAuth) {\n return <PasswordLogin />;\n } else if (passwordLessAuth) {\n return <PasswordLessLogin />;\n } else {\n return <p>No authentication method available</p>;\n }\n };\n\n const isAnyOAuthEnabled = !!(\n solidSettingsData?.data?.iamGoogleOAuthEnabled ||\n solidSettingsData?.data?.iamFacebookOAuthEnabled ||\n solidSettingsData?.data?.iamAppleOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled\n );\n\n return (\n <div className=\"\">\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">Login to your account</h2>\n <p className=\"solid-auth-helper\">Enter your credentials below to login to your account</p>\n\n <RenderAuthModes passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} />\n {isAnyOAuthEnabled && (\n <>\n <div className=\"solid-auth-divider flex items-center gap-2 my-6\">\n <SolidDivider className=\"flex-1\" />\n <span className=\"text-sm text-500\">Or continue with</span>\n <SolidDivider className=\"flex-1\" />\n </div>\n <SocialMediaLogin\n googleEnabled={solidSettingsData?.data?.iamGoogleOAuthEnabled}\n facebookEnabled={solidSettingsData?.data?.iamFacebookOAuthEnabled}\n appleEnabled={solidSettingsData?.data?.iamAppleOAuthEnabled}\n microsoftEnabled={solidSettingsData?.data?.iamMicrosoftOAuthEnabled}\n microsoftActiveDirectoryEnabled={solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled}\n />\n </>\n )}\n </div>\n {solidSettingsData?.data?.allowPublicRegistration && <div className=\"mt-4 md:mt-8\">\n <div className=\"text-sm text-center text-400 secondary-dark-color\">\n Don’t have an account ? <Link className=\"font-bold\" href=\"/auth/register\" tabIndex={-1}>Sign Up</Link>\n </div>\n </div>}\n </div>\n );\n};\n\nexport default SolidLogin;\n"]}
|
|
1
|
+
{"version":3,"file":"SolidLogin.js","sourceRoot":"","sources":["../../../src/components/auth/SolidLogin.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Form, Formik } from \"formik\";\nimport { signIn } from \"../../adapters/auth/index\";\nimport Link from \"../common/Link\";\nimport { useRouter } from \"../../hooks/useRouter\";\nimport { useEffect, useState } from \"react\";\nimport * as Yup from \"yup\";\nimport { SocialMediaLogin } from \"../common/SocialMediaLogin\";\nimport { useInitateLoginMutation } from \"../../redux/api/authApi\";\nimport { formatTimeLeft } from \"../../helpers/resendOtpHelper\";\nimport { ERROR_MESSAGES } from \"../../constants/error-messages\";\nimport { env } from \"../../adapters/env\";\nimport { showToast } from \"../../redux/features/toastSlice\";\nimport { AuthTabs } from \"./AuthTabs\";\nimport { useDispatch } from \"react-redux\";\nimport { SolidButton, SolidDivider, SolidInput, SolidMessage, SolidPasswordInput, SolidRadioGroup } from \"../shad-cn-ui\";\nimport { useAuthSettings } from \"./AuthSettingsContext\";\n\ninterface AuthModesProps {\n passwordBasedAuth: boolean;\n passwordLessAuth: boolean;\n}\nconst SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {\n const { solidSettingsData, isLoadingAuthSettings } = useAuthSettings();\n\n const [initiateLogin] = useInitateLoginMutation();\n const [activeIndex, setActiveIndex] = useState(0);\n useEffect(() => {\n sessionStorage.removeItem(\"app-mounted\");\n }, [])\n const dispatch = useDispatch();\n const router = useRouter();\n\n const isFormFieldValid = (formik: any, fieldName: string) =>\n formik.touched[fieldName] && formik.errors[fieldName];\n const emailOrUsernameRegex = /^[a-zA-Z0-9._]{2,30}$/;\n\n const PasswordLogin = () => {\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n // email: initialEmail,\n password: \"\",\n // rememberMe: rememberMe,\n }}\n enableReinitialize={false}\n validationSchema={Yup.object({\n identifier: Yup.string()\n .required(ERROR_MESSAGES.FIELD_REUQIRED(\"Email or Username\"))\n .test(\n \"email-or-username\",\n ERROR_MESSAGES.FIELD_INVALID(\"email or username\"),\n (value) => {\n // if (!value) return false;\n\n const isEmail = Yup.string().email().isValidSync(value);\n const isUsername = emailOrUsernameRegex.test(value);\n\n return isEmail || isUsername;\n }\n ),\n password: Yup.string().required(ERROR_MESSAGES.FIELD_REUQIRED(\"Password\")),\n })}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n // Handle Remember Me\n // if (values.rememberMe) {\n // localStorage.setItem(\"rememberedEmail\", values.email);\n // } else {\n // localStorage.removeItem(\"rememberedEmail\");\n // }\n const response = await signIn(\"credentials\", {\n redirect: false,\n identifier: values.identifier,\n password: values.password,\n });\n\n if (response?.error) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n setErrors({\n identifier: ERROR_MESSAGES.INVALID_CREDENTIALS,\n password: ERROR_MESSAGES.INVALID_CREDENTIALS,\n });\n } else {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.LOGIN_SUCCESS, detail: ERROR_MESSAGES.DASHBOARD_REDIRECTING }));\n const redirectUrl = env(\"NEXT_PUBLIC_LOGIN_REDIRECT_URL\") || \"/admin\";\n router.push(redirectUrl);\n }\n } catch (error: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: error?.data ? error?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n } finally {\n setSubmitting(false); // Re-enable the button after submission\n }\n }}\n >\n {(formik) => (\n <Form>\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"email\" className=\"solid-auth-input-label\">{signInValidatorLabel ? signInValidatorLabel : \"Username or Email\"}</label>\n <SolidInput\n id=\"identifier\"\n name=\"identifier\"\n placeholder={signInValidatorPlaceholder ? signInValidatorPlaceholder : \"Email or Username\"}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n onBlur={formik.handleBlur}\n aria-invalid={!!isFormFieldValid(formik, \"identifier\")}\n className=\"w-full\"\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"identifier\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.identifier?.toString()}\n />\n )}\n </div>\n <div className=\"flex flex-col gap-1 mt-4\" style={{}}>\n <div className=\"flex items-center justify-between\">\n <label htmlFor=\"password\" className=\"solid-auth-input-label\">Password</label>\n <Link href={\"/auth/initiate-forgot-password\"} className=\"solid-auth-inline-link\" tabIndex={-1}>Forgot your password?</Link>\n </div>\n <SolidPasswordInput\n id=\"password\"\n name=\"password\"\n value={formik.values.password}\n onChange={formik.handleChange}\n toggle\n className=\"w-full\"\n aria-invalid={!!isFormFieldValid(formik, \"password\")}\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"password\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={formik?.errors?.password?.toString()}\n />\n )}\n </div>\n {/* <div className=\"flex items-center mt-6\">\n <Checkbox inputId=\"remember\" onChange={(e: any) => setChecked(e.checked)} checked={checked} />\n <label htmlFor=\"remember\" className=\"ml-2\">Remember me</label>\n </div> */}\n <div className=\"mt-6\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Sign In\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const PasswordLessLogin = () => {\n const validationType = solidSettingsData?.data?.passwordlessLoginValidateWhat || \"email\";\n const [selectedAuthMethod, setSelectedAuthMethod] = useState<\"email\" | \"mobile\">(\"email\");\n\n const getFieldConfig = () => {\n if (validationType === \"selectable\") {\n if (selectedAuthMethod === \"mobile\") {\n return {\n label: \"Mobile Number / Username\",\n placeholder: \"Enter your mobile number or username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n } else {\n return {\n label: \"Email Address / Username\",\n placeholder: \"Enter your email or username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n }\n switch (validationType) {\n case \"mobile\":\n return {\n label: signInValidatorLabel || \"Mobile Number / Username\",\n placeholder: signInValidatorPlaceholder || \"Enter your mobile number / username\",\n type: \"mobile\",\n // validationSchema: Yup.string()\n // .matches(/^[0-9]{10}$/, ERROR_MESSAGES.FIELD_INVALID('mobile number'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Mobile number'))\n };\n case \"email\":\n default:\n return {\n label: signInValidatorLabel || \"Email / Username\",\n placeholder: signInValidatorPlaceholder || \"Email ID / username\",\n type: \"email\",\n // validationSchema: Yup.string()\n // .email(ERROR_MESSAGES.FIELD_INVALID('email address'))\n // .required(ERROR_MESSAGES.FIELD_REUQIRED('Email'))\n };\n }\n };\n\n const fieldConfig = getFieldConfig();\n return (\n <Formik\n initialValues={{\n identifier: \"\",\n }}\n // validationSchema={\n // fieldConfig.validationSchema \n // ? Yup.object({\n // identifier: fieldConfig.validationSchema\n // })\n // : Yup.object({\n // identifier: Yup.string().required(\"required\"),\n // })\n // }\n validationSchema={\n Yup.object({ identifier: Yup.string().required(\"Required\") })\n }\n enableReinitialize={false}\n onSubmit={async (values, { setSubmitting, setErrors }) => {\n try {\n const RESEND_OTP_KEY = `resendOtpLogin_${values.identifier}`;\n const RESEND_OTP_TIMER_MIN = parseFloat(env(\"NEXT_PUBLIC_RESEND_OTP_TIMER\") || '0.5');\n const RESEND_OTP_TIMER = Math.round(RESEND_OTP_TIMER_MIN * 60);\n\n // Use selectedAuthMethod for selectable, otherwise use fieldConfig.type\n const authType = validationType === \"selectable\" ? selectedAuthMethod : fieldConfig.type;\n\n const payload: { identifier: string; type?: string } = {\n identifier: values.identifier,\n };\n if (validationType === \"selectable\") {\n payload.type = selectedAuthMethod;\n }\n\n const storedTimeStr = localStorage.getItem(RESEND_OTP_KEY);\n const now = Date.now();\n if (storedTimeStr) {\n const lastSent = parseInt(storedTimeStr, 10);\n const elapsed = Math.floor((now - lastSent) / 1000);\n const remaining = RESEND_OTP_TIMER - elapsed;\n\n if (remaining > 0) {\n const formatted = formatTimeLeft(remaining);\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.PLEASE_WAIT, detail: ERROR_MESSAGES.OPT_FORMAT(formatted) }));\n setSubmitting(false);\n return; // Prevent request\n }\n }\n const response = await initiateLogin(payload).unwrap(); // Call mutation trigger\n\n if (response?.statusCode === 200) {\n // dispatch(showToast({ severity: \"success\", summary: ERROR_MESSAGES.OPT_RESEND, detail: response?.data?.message }));\n const identifier = values.identifier;\n localStorage.setItem(`resendOtpLogin_${identifier}`, Date.now().toString());\n router.push(`/auth/initiate-login?identifier=${encodeURIComponent(identifier)}&type=${authType}`);\n } else {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: response.error }));\n }\n } catch (err: any) {\n dispatch(showToast({ severity: \"error\", summary: ERROR_MESSAGES.LOGIN_ERROR, detail: err?.data ? err?.data?.message : ERROR_MESSAGES.SOMETHING_WRONG }));\n setErrors({\n identifier: \"Invalid Credentials\",\n });\n } finally {\n setSubmitting(false);\n }\n }}\n >\n {(formik) => (\n <Form>\n {/* Radio buttons for selectable type */}\n {validationType === \"selectable\" && (\n <div className=\"flex flex-col gap-4 mt-4\">\n <label className=\"solid-auth-input-label\">Select Authentication Method</label>\n <SolidRadioGroup\n name=\"authMethod\"\n value={selectedAuthMethod}\n options={[\n { label: \"Email / Username\", value: \"email\" },\n { label: \"Mobile / Username\", value: \"mobile\" },\n ]}\n onChange={(value) => {\n setSelectedAuthMethod(value);\n formik.setFieldValue(\"identifier\", \"\");\n }}\n className=\"solid-auth-radio-options flex gap-6 flex-wrap\"\n />\n </div>\n )}\n <div className=\"flex flex-col gap-2 mt-4\">\n <label htmlFor=\"identifier\" className=\"solid-auth-input-label\">{fieldConfig.label}</label>\n <SolidInput\n id=\"identifier\"\n name=\"identifier\"\n placeholder={fieldConfig.placeholder}\n onChange={formik.handleChange}\n value={formik.values.identifier}\n onBlur={formik.handleBlur}\n aria-invalid={!!isFormFieldValid(formik, \"identifier\")}\n className=\"w-full\"\n autoComplete=\"off\"\n />\n {isFormFieldValid(formik, \"identifier\") && (\n <SolidMessage\n className=\"text-red-500 text-sm\"\n severity=\"error\"\n text={signInValidatorLabel ? `${signInValidatorLabel} is ${formik?.errors?.identifier?.toString()}` : formik?.errors?.identifier?.toString()}\n />\n )}\n </div>\n <div className=\"mt-6\">\n <SolidButton\n type=\"submit\"\n className=\"w-full font-light auth-submit-button\"\n label=\"Sign In\"\n disabled={formik.isSubmitting}\n loading={formik.isSubmitting}\n />\n </div>\n </Form>\n )}\n </Formik>\n )\n }\n\n const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth }) => {\n if (isLoadingAuthSettings) {\n return (\n <div className=\"solid-auth-empty-state is-loading\" aria-live=\"polite\">\n <p className=\"solid-auth-empty-title\">Loading sign-in options...</p>\n <p className=\"solid-auth-empty-copy\">We're fetching the authentication settings for this workspace.</p>\n </div>\n );\n }\n\n if (passwordBasedAuth && passwordLessAuth) {\n return (\n <AuthTabs\n activeIndex={activeIndex}\n onChange={setActiveIndex}\n tabs={[\n { key: \"with-password\", label: \"With Password\", content: <PasswordLogin /> },\n { key: \"without-password\", label: \"Without Password\", content: <PasswordLessLogin /> },\n ]}\n />\n );\n } else if (passwordBasedAuth) {\n return <PasswordLogin />;\n } else if (passwordLessAuth) {\n return <PasswordLessLogin />;\n } else {\n return (\n <div className=\"solid-auth-empty-state\" role=\"status\">\n <p className=\"solid-auth-empty-title\">No authentication method available</p>\n <p className=\"solid-auth-empty-copy\">Ask your administrator to enable a password or passwordless sign-in option.</p>\n </div>\n );\n }\n };\n\n const isAnyOAuthEnabled = !!(\n solidSettingsData?.data?.iamGoogleOAuthEnabled ||\n solidSettingsData?.data?.iamFacebookOAuthEnabled ||\n solidSettingsData?.data?.iamAppleOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftOAuthEnabled ||\n solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled\n );\n\n return (\n <div className=\"\">\n <div className={`auth-container ${solidSettingsData?.data?.authPagesLayout === 'center' ? 'center' : 'side'}`}>\n <h2 className=\"solid-auth-title\">Login to your account</h2>\n <p className=\"solid-auth-helper\">Enter your credentials below to login to your account</p>\n\n <RenderAuthModes passwordBasedAuth={solidSettingsData?.data?.passwordBasedAuth} passwordLessAuth={solidSettingsData?.data?.passwordLessAuth} />\n {isAnyOAuthEnabled && (\n <>\n <div className=\"solid-auth-divider flex items-center gap-2 my-6\">\n <SolidDivider className=\"flex-1\" />\n <span className=\"text-sm text-500\">Or continue with</span>\n <SolidDivider className=\"flex-1\" />\n </div>\n <SocialMediaLogin\n googleEnabled={solidSettingsData?.data?.iamGoogleOAuthEnabled}\n facebookEnabled={solidSettingsData?.data?.iamFacebookOAuthEnabled}\n appleEnabled={solidSettingsData?.data?.iamAppleOAuthEnabled}\n microsoftEnabled={solidSettingsData?.data?.iamMicrosoftOAuthEnabled}\n microsoftActiveDirectoryEnabled={solidSettingsData?.data?.iamMicrosoftActiveDirectoryOAuthEnabled}\n />\n </>\n )}\n </div>\n {solidSettingsData?.data?.allowPublicRegistration && <div className=\"mt-4 md:mt-8\">\n <div className=\"text-sm text-center text-400 secondary-dark-color\">\n Don’t have an account ? <Link className=\"font-bold\" href=\"/auth/register\" tabIndex={-1}>Sign Up</Link>\n </div>\n </div>}\n </div>\n );\n};\n\nexport default SolidLogin;\n"]}
|
|
@@ -20,7 +20,7 @@ interface AuthModesProps {
|
|
|
20
20
|
passwordLessAuth: boolean;
|
|
21
21
|
}
|
|
22
22
|
const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) => {
|
|
23
|
-
const { solidSettingsData } = useAuthSettings();
|
|
23
|
+
const { solidSettingsData, isLoadingAuthSettings } = useAuthSettings();
|
|
24
24
|
|
|
25
25
|
const [initiateLogin] = useInitateLoginMutation();
|
|
26
26
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
@@ -334,6 +334,15 @@ const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) =
|
|
|
334
334
|
}
|
|
335
335
|
|
|
336
336
|
const RenderAuthModes: React.FC<AuthModesProps> = ({ passwordBasedAuth, passwordLessAuth }) => {
|
|
337
|
+
if (isLoadingAuthSettings) {
|
|
338
|
+
return (
|
|
339
|
+
<div className="solid-auth-empty-state is-loading" aria-live="polite">
|
|
340
|
+
<p className="solid-auth-empty-title">Loading sign-in options...</p>
|
|
341
|
+
<p className="solid-auth-empty-copy">We're fetching the authentication settings for this workspace.</p>
|
|
342
|
+
</div>
|
|
343
|
+
);
|
|
344
|
+
}
|
|
345
|
+
|
|
337
346
|
if (passwordBasedAuth && passwordLessAuth) {
|
|
338
347
|
return (
|
|
339
348
|
<AuthTabs
|
|
@@ -350,7 +359,12 @@ const SolidLogin = ({ signInValidatorLabel, signInValidatorPlaceholder }: any) =
|
|
|
350
359
|
} else if (passwordLessAuth) {
|
|
351
360
|
return <PasswordLessLogin />;
|
|
352
361
|
} else {
|
|
353
|
-
return
|
|
362
|
+
return (
|
|
363
|
+
<div className="solid-auth-empty-state" role="status">
|
|
364
|
+
<p className="solid-auth-empty-title">No authentication method available</p>
|
|
365
|
+
<p className="solid-auth-empty-copy">Ask your administrator to enable a password or passwordless sign-in option.</p>
|
|
366
|
+
</div>
|
|
367
|
+
);
|
|
354
368
|
}
|
|
355
369
|
};
|
|
356
370
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SolidRegister.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidRegister.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,aAAa,+
|
|
1
|
+
{"version":3,"file":"SolidRegister.d.ts","sourceRoot":"","sources":["../../../src/components/auth/SolidRegister.tsx"],"names":[],"mappings":"AAuBA,QAAA,MAAM,aAAa,+CA4dlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|