UNPKG

@codesandbox/api

Version:
35 lines 2.06 kB
import { jsx as _jsx, jsxs as _jsxs } from "preact/jsx-runtime"; import { useState } from "preact/hooks"; import { Footer } from "./Footer"; import { LoginProviders } from "./LoginProviders"; import { ModalWrapper } from "./ModalWrapper"; import { SSO } from "./SSO"; export function LoginModal({ metaFeatures, onLogin, getSSORedirectUrl, }) { const [page, setPage] = useState("login"); const isOnlyWorkos = !metaFeatures.loginWithGithub && !metaFeatures.loginWithGoogle && !metaFeatures.loginWithApple && metaFeatures.loginWithWorkos; let footer = null; if (metaFeatures.loginWithWorkos && !isOnlyWorkos) { footer = (_jsx(Footer, { children: page === "login" ? (_jsx("button", { class: "csb-api-bIjkRi csb-api-ljdegr", onClick: () => setPage("sso"), type: "button", children: "Sign in with SSO" })) : (_jsxs("span", { class: "csb-api-gDXMLZ csb-api-hyGEHp", children: ["Not SSO?", _jsx("button", { class: "csb-api-bIjkRi csb-api-ljdegr", onClick: () => setPage("login"), type: "button", children: "Sign in" })] })) })); } else { footer = _jsx(Footer, {}); } if (isOnlyWorkos) { return (_jsxs(ModalWrapper, { children: [_jsx(SSO, { changeSignInMode: () => setPage("login"), getSSORedirectUrl: getSSORedirectUrl, onValidInitialize: (ssoUrl) => { onLogin({ type: "sso", redirectUrl: ssoUrl, }); } }), footer] })); } return (_jsxs(ModalWrapper, { children: [_jsx("div", { class: "csb-api-gDXMLZ csb-api-icIAxa", children: page === "login" ? (_jsx(LoginProviders, { onLogin: onLogin })) : (_jsx(SSO, { changeSignInMode: () => setPage("login"), getSSORedirectUrl: getSSORedirectUrl, onValidInitialize: (ssoUrl) => { onLogin({ type: "sso", redirectUrl: ssoUrl, }); } })) }), footer] })); } //# sourceMappingURL=LoginModal.js.map