"use server"; import { createClient } from "@/utils/supabase/server"; import { encodedRedirect } from "@/utils/utils"; import { headers } from "next/headers"; export const signUpAction = async (formData: FormData) => { const email = formData.get("email")?.toString(); const password = formData.get("password")?.toString(); const supabase = await createClient(); const origin = (await headers()).get("origin"); if (!email || !password) { return encodedRedirect( "error", "/sign-up", "Email and password are required" ); } const { error } = await supabase.auth.signUp({ email, password, options: { emailRedirectTo: `${origin}/auth/callback`, }, }); if (error) { console.error(error.code + " " + error.message); return encodedRedirect("error", "/sign-up", error.message); } else { return encodedRedirect( "success", "/sign-up", "Thanks for signing up! Please check your email for a verification link." ); } };