
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
- Stuck in "deleting"
my parent element have relationship that doesnt exist and its stuck in "deleting", i cant delete it gives me error: Collection with the requested ID could not b...
- Help with 409 Error on Relationship Setu...
I ran into a 409 document_already_exists issue. with AppWrite so I tried to debug. Here's what I've set up: Collection A has 3 attributes and a two-way 1-to-m...
- Database Double Requesting Error.
I am getting error for creating new document in an collection with new ID.unique() then too getting error of existing document. When button is pressed one docum...
