import { useState } from 'react' import { supabase } from '../lib/api' export default function Auth({}) { const [email, setEmail] = useState('') const [password, setPassword] = useState('') const handleLogin = async (type, email, password) => { try { const { error, user } = type === 'LOGIN' ? await supabase.auth.signIn({ email, password }) : await supabase.auth.signUp({ email, password }) if (!error && !user) alert('Check your email for the login link!') if (error) console.log('Error returned:', error.message) } catch (error) { console.log('Error thrown:', error.message) alert(error.error_description || error) } } async function handleOAuthLogin(provider) { let { error } = await supabase.auth.signIn({ provider }) if (error) console.log('Error: ', error.message) } async function forgotPassword(e) { e.preventDefault() var email = prompt('Please enter your email:') if (email === null || email === '') { window.alert('You must enter your email.') } else { let { error } = await supabase.auth.api.resetPasswordForEmail(email) if (error) { console.log('Error: ', error.message) } else { alert('Password recovery email has been sent.') } } } return (
setEmail(e.target.value)} />
setPassword(e.target.value)} />
{ e.preventDefault() handleLogin('SIGNUP', email, password) }} href={'/channels'} className="btn-black" > Sign up { e.preventDefault() handleLogin('LOGIN', email, password) }} href={'/channels'} className="btn-black-outline" > {password.length ? 'Sign in' : 'Send magic link'}
{/* eslint-disable-next-line */} Forgot your password?
Or continue with
) }