import { createSignal, Show } from "solid-js"; import "./oauth-config"; import { useOAuthScopeFlow } from "./scope-flow"; import { ScopeSelector } from "./scope-selector"; interface LoginProps { onCancel?: () => void; } export const Login = (props: LoginProps) => { const [notice, setNotice] = createSignal(""); const [loginInput, setLoginInput] = createSignal(""); const scopeFlow = useOAuthScopeFlow({ onError: (e) => setNotice(`${e}`), onRedirecting: () => { setNotice(`Contacting your data server...`); setTimeout(() => setNotice(`Redirecting...`), 0); }, }); const initiateLogin = (handle: string) => { setNotice(""); scopeFlow.initiate(handle); }; const handleCancel = () => { scopeFlow.cancel(); setLoginInput(""); setNotice(""); props.onCancel?.(); }; return (
Add account
e.preventDefault()}>
setLoginInput(e.currentTarget.value)} />
{notice()}
); };