import { FC, useEffect, useState } from 'react' import { Logo, Modal, Button, Input } from '@components/ui' import useSignup from '@lib/bigcommerce/use-signup' import useLogin from '@lib/bigcommerce/use-login' import { useUI } from '@components/ui/context' interface Props {} const LoginView: FC = () => { const [email, setEmail] = useState('') const [pass, setPass] = useState('') // const { openModal, closeModal } = useUI() // useEffect(() => { // open ? openModal() : closeModal() // }, [open]) const signup = useSignup() const login = useLogin() // // Data about the currently logged in customer, it will update // // automatically after a signup/login/logout // const { data } = useCustomer() // TODO: use this method. It can take more than 5 seconds to do a signup const handleSignup = async () => { // TODO: validate the password and email before calling the signup // Passwords must be at least 7 characters and contain both alphabetic // and numeric characters. try { await signup({ // This account already exists, so it will throw the "duplicated_email" error email: 'luis@vercel.com', firstName: 'Luis', lastName: 'Alvarez', password: 'luis123', }) } catch (error) { if (error.code === 'duplicated_email') { // TODO: handle duplicated email } // Show a generic error saying that something bad happened, try again later } } const handleLogin = async () => { // TODO: validate the password and email before calling the signup // Passwords must be at least 7 characters and contain both alphabetic // and numeric characters. try { await login({ email: 'luis@vercel.com', // This is an invalid password so it will throw the "invalid_credentials" error password: 'luis1234', // will work with `luis123` }) } catch (error) { if (error.code === 'invalid_credentials') { // The email and password didn't match an existing account } // Show a generic error saying that something bad happened, try again later } } return (
Don't have an account? {` `} Sign Up
) } export default LoginView