UNPKG

@codesandbox/api

Version:
39 lines 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.LoginModal = void 0; const jsx_runtime_1 = require("preact/jsx-runtime"); const hooks_1 = require("preact/hooks"); const Footer_1 = require("./Footer"); const LoginProviders_1 = require("./LoginProviders"); const ModalWrapper_1 = require("./ModalWrapper"); const SSO_1 = require("./SSO"); function LoginModal({ metaFeatures, onLogin, getSSORedirectUrl, }) { const [page, setPage] = (0, hooks_1.useState)("login"); const isOnlyWorkos = !metaFeatures.loginWithGithub && !metaFeatures.loginWithGoogle && !metaFeatures.loginWithApple && metaFeatures.loginWithWorkos; let footer = null; if (metaFeatures.loginWithWorkos && !isOnlyWorkos) { footer = ((0, jsx_runtime_1.jsx)(Footer_1.Footer, { children: page === "login" ? ((0, jsx_runtime_1.jsx)("button", { class: "csb-api-bIjkRi csb-api-ljdegr", onClick: () => setPage("sso"), type: "button", children: "Sign in with SSO" })) : ((0, jsx_runtime_1.jsxs)("span", { class: "csb-api-gDXMLZ csb-api-hyGEHp", children: ["Not SSO?", (0, jsx_runtime_1.jsx)("button", { class: "csb-api-bIjkRi csb-api-ljdegr", onClick: () => setPage("login"), type: "button", children: "Sign in" })] })) })); } else { footer = (0, jsx_runtime_1.jsx)(Footer_1.Footer, {}); } if (isOnlyWorkos) { return ((0, jsx_runtime_1.jsxs)(ModalWrapper_1.ModalWrapper, { children: [(0, jsx_runtime_1.jsx)(SSO_1.SSO, { changeSignInMode: () => setPage("login"), getSSORedirectUrl: getSSORedirectUrl, onValidInitialize: (ssoUrl) => { onLogin({ type: "sso", redirectUrl: ssoUrl, }); } }), footer] })); } return ((0, jsx_runtime_1.jsxs)(ModalWrapper_1.ModalWrapper, { children: [(0, jsx_runtime_1.jsx)("div", { class: "csb-api-gDXMLZ csb-api-icIAxa", children: page === "login" ? ((0, jsx_runtime_1.jsx)(LoginProviders_1.LoginProviders, { onLogin: onLogin })) : ((0, jsx_runtime_1.jsx)(SSO_1.SSO, { changeSignInMode: () => setPage("login"), getSSORedirectUrl: getSSORedirectUrl, onValidInitialize: (ssoUrl) => { onLogin({ type: "sso", redirectUrl: ssoUrl, }); } })) }), footer] })); } exports.LoginModal = LoginModal; //# sourceMappingURL=LoginModal.js.map