import { useState } from "react" import useLocalStorage from "use-local-storage" import { useAtom } from "jotai" import { loginStatusAtom } from "../state/atoms" import { LoginHelper } from "../lib/session" export const LoginWidget = () => { const [username, setUsername] = useLocalStorage("input_username","", {syncData: false}) const [password, setPassword] = useState("") const [{data:loginState, refetch: refetchLoginState}] = useAtom(loginStatusAtom) const [loginError, setLoginError] = useState("") if(loginState?.logged_in){ return <>
{loginState.community_name}
} return <>
{ LoginHelper.login(username,password).catch((e)=>{ setLoginError(e.message) }).finally(()=>{ refetchLoginState() refetchLoginState() }) }} className="flex flex-col gap-1 p-2 justify-left"> { loginError ? (
{loginError}
) : null}
{ setUsername(e.target.value) }} value={username} id="username" placeholder="username" className="w-32 pl-2 pb-1 border-b border-gray-600 placeholder-gray-500"/>
{ setPassword(e.target.value) }} value={password} type="password" placeholder="password" className="w-32 pl-2 pb-1 border-b border-gray-600 placeholder-gray-500"/>
}