@glossy rapids RIght now I have this code:
// src/lib/auth.js
'use server'
import { createSupabaseServer } from './supabaseServer'
import { redirect } from 'next/navigation'
export async function signUp(formData) {
const supabase = await createSupabaseServer()
const name = formData.get('name')
const email = formData.get('email')
const password = formData.get('password')
if (!name || !email || !password) {
console.error('[signUp] Missing required fields')
return { error: 'Name, email, and password are required.' }
}
const { data, error } = await supabase.auth.signUp({
email,
password,
})
if (error) {
console.error('[signUp] Auth error:', error.message)
return { error: error.message }
}
if (!data?.user) {
console.error('[signUp] No user returned from auth.signUp')
return { error: 'No user was created. The email may already be registered.' }
}
const { data: insertData, error: insertError } = await supabase
.from('owners')
.insert({
auth_id: data.user.id,
name,
email,
})
.select()
if (insertError) {
console.error('[signUp] Insert error:', insertError.message)
return { error: insertError.message }
}
}
export async function signIn(prevState, formData) {
const supabase = await createSupabaseServer()
const email = formData.get('email')
const password = formData.get('password')
if (!email || !password) {
console.error('[signIn] Missing required fields')
return { error: 'Email and password are required.' }
}
const { data, error } = await supabase.auth.signInWithPassword({
email,
password,
})
if (error) {
console.error('[signIn] Auth error:', error.message)
return { error: error.message }
}
redirect('/create-user')
}
I want to redirect to /login if it works, and also if I get erros like:
[signUp] Auth error: User already registered, it should show in red text somewere, Right now it shows nothing.