Browse Source

fix(auth): temporarily disable email verification on sign-up and requireEmailVerification for better user experience
refactor(signup): change redirection on successful sign-up to profile page for improved navigation
fix(header): prevent rendering sign-in link when session is pending to enhance user experience

Mathias 1 month ago
parent
commit
b67986f298

+ 2 - 1
src/features/auth/lib/better-auth.ts

@@ -78,7 +78,7 @@ export const auth = betterAuth({
   },
   emailVerification: {
     autoSignInAfterVerification: true,
-    sendOnSignUp: true,
+    sendOnSignUp: false, // FIXME: TEMPORARY
     sendVerificationEmail: async ({ user, url }, _req) => {
       try {
         const urlObject = new URL(url);
@@ -101,6 +101,7 @@ export const auth = betterAuth({
     },
   },
   emailAndPassword: {
+    requireEmailVerification: false, // FIXME: TEMPORARY
     sendResetPassword: async ({ user, url }) => {
       await sendEmail({
         to: user.email,

+ 3 - 5
src/features/auth/signup/model/useSignUp.ts

@@ -1,17 +1,14 @@
 "use client";
 
-import { useRouter } from "next/navigation";
 import { useMutation } from "@tanstack/react-query";
 
 import { useI18n } from "locales/client";
-import { paths } from "@/shared/constants/paths";
 import { SignUpSchema } from "@/features/auth/signup/schema/signup.schema";
 import { signUpAction } from "@/features/auth/signup/model/signup.action";
 import { brandedToast } from "@/components/ui/toast";
 
 export const useSignUp = () => {
   const t = useI18n();
-  const router = useRouter();
 
   const mutation = useMutation({
     mutationFn: async (values: SignUpSchema) => {
@@ -28,8 +25,9 @@ export const useSignUp = () => {
       return result;
     },
 
-    onSuccess: () => {
-      router.push(`/${paths.verifyEmail}?signin=true`);
+    onSuccess: async () => {
+      window.location.href = "/profile";
+      // router.push(`/${paths.verifyEmail}?signin=true`);
     },
 
     onError: (error: unknown) => {

+ 1 - 1
src/features/layout/Header.tsx

@@ -84,7 +84,7 @@ export const Header = () => {
 
             <hr className="my-1 border-slate-200 dark:border-gray-800" />
 
-            {!session.data ? (
+            {!session.data && !session.isPending ? (
               <>
                 <li>
                   <Link className="!no-underline" href="/auth/signin" size="base" variant="nav">