import Logo from "@/assets/logo-light.svg"; import { useState } from "react"; import { login, register } from "@/state/client"; import { useStore } from "@/state/store"; interface LoginProps { toggleRegister: () => void; } function Login(props: LoginProps) { const refreshUser = useStore((state) => state.refreshUser); const [errors, setErrors] = useState(null); const doLogin = async (e: React.FormEvent) => { e.preventDefault(); const form = e.currentTarget; const username = form.username.value; const password = form.password.value; const key = form.key.value; console.log("Logging in..."); try { await login(username, password, key); refreshUser(); console.log("Logged in"); } catch (e: any) { console.error(e); setErrors(e); } }; return ( <>
Atuin

Sign in to your account

Backup and sync your data across devices. All data is end-to-end encrypted and stored securely in the cloud.

{/* You can't right now. Sorry. Validate emails first. Forgot password? */}
{errors && (

{errors}

)}

Not a member?{" "} { e.preventDefault(); props.toggleRegister(); }} > Register

); } interface RegisterProps { toggleLogin: () => void; } function Register(props: RegisterProps) { const refreshUser = useStore((state) => state.refreshUser); const [errors, setErrors] = useState(null); const doRegister = async (e: React.FormEvent) => { e.preventDefault(); const form = e.currentTarget; const username = form.username.value; const email = form.email.value; const password = form.password.value; console.log("Logging in..."); try { await register(username, email, password); refreshUser(); console.log("Logged in"); } catch (e: any) { console.error(e); setErrors(e); } }; return ( <>
Atuin

Register for an account

Backup and sync your data across devices. All data is end-to-end encrypted and stored securely in the cloud.

{/* You can't right now. Sorry. Validate emails first. Forgot password? */}
{errors && (

{errors}

)}

Already have an account?{" "} { e.preventDefault(); props.toggleLogin(); }} > Login

); } export default function LoginOrRegister() { let [login, setLogin] = useState(false); if (login) { return setLogin(false)} />; } return setLogin(true)} />; }