
when i signup user gets created to auth and user added as document in user collection (saved to db) but it is not redirected to / (home) route
async function handleSignup(values: z.infer<typeof formSchema>) {
try {
const newUser =await createUserAccount(values);
if(newUser){
return toast({
title: 'Sign up failed! Please try again.'
})
}
const session = await signInAccount({
email:values.email,
password:values.password
})
if(!session) {
toast({title:"sign in failed, Please try again."})
navigate("/sign-in");
return;
}
const isLoggedIn=await checkAuthUser();
if(isLoggedIn){
form.reset()
navigate('/')
}else{
toast({title:"Sign up failed! Please try again"})
return;
}
} catch (error) {
console.log(error);
}
my handleSignup function

I think the issue is that you're not routing after createUserAccount?

but i have to navigate to / only when it is signedin

Ok. Let me do a rewrite

i followed a tutorial and did almost exactly as he did but still getting messed up

What's exactly createUserAccount(values);?

This is JS, right?

Ts

Okay. What's the code for such function?

I mean createUserAccount(values);

values: { username: string; email: string; name: string; password: string; }

try {
const newAccount = await account.create(
ID.unique(),
user.email,
user.password,
user.name
);
if (!newAccount) throw Error;
const avatarUrl = avatars.getInitials(user.name);
const newUser = await saveUserToDB({
accountId: newAccount.$id,
name: newAccount.name,
email: newAccount.email,
username: user.username,
imageUrl: avatarUrl,
});
return newUser;
} catch (error) {
console.log(error);
return error;
}
}
export async function saveUserToDB(user: {
accountId: string;
email: string;
name: string;
imageUrl: URL;
username?: string;
}) {
try {
const newUser = await databases.createDocument(
appwriteConfig.databaseId,
appwriteConfig.userCollectionId,
ID.unique(),
user
);
console.log(newUser);
return newUser;
} catch (error) {
console.log(error);
}
}```

Ok. That looks fine for me

I think the first part should look like this?
const newUser = await createUserAccount(values);
if(newUser){
// Redirect the user here since it has been logged in:
navigate('/')
} else {
//Show errors here
}
Recommended threads
- Adding "name" column to table creates 2-...
As stated, im adding the "name" column to one table, it adds 4 duplicates. In another table it adds 3 duplicates, and when I delete 1 of them, all duplucates di...
- Looking for Partner
I'm looking for a partner for long-term collaboration. Of course, you'll get paid for it. If you are interested, please send a DM to me
- 2 Columns still processing since yesterd...
Hey o/ Yesterday (around <t:1758045600:f>), I created a database and added several columns to it. After about 15 minutes, most of the "processing" tags disappe...
