fix(frontend): simplify login redirect

This commit is contained in:
Lluis Agusti
2025-11-15 01:14:22 +07:00
parent 9977144b3d
commit 9c3f679f30
3 changed files with 6 additions and 13 deletions

View File

@@ -55,7 +55,6 @@ export async function login(
return {
success: true,
onboarding,
next: onboarding ? "/onboarding" : "/",
};
} catch (err) {
Sentry.captureException(err);

View File

@@ -1,5 +0,0 @@
export function computeReturnURL(returnUrl: string | null, result: any) {
return returnUrl
? returnUrl
: (result?.next as string) || (result?.onboarding ? "/onboarding" : "/");
}

View File

@@ -4,20 +4,17 @@ import { useSupabase } from "@/lib/supabase/hooks/useSupabase";
import { environment } from "@/services/environment";
import { loginFormSchema, LoginProvider } from "@/types/auth";
import { zodResolver } from "@hookform/resolvers/zod";
import { useRouter, useSearchParams } from "next/navigation";
import { useRouter } from "next/navigation";
import { useCallback, useState } from "react";
import { useForm } from "react-hook-form";
import z from "zod";
import { login as loginAction } from "./actions";
import { computeReturnURL } from "./helpers";
export function useLoginPage() {
const { supabase, user, isUserLoading } = useSupabase();
const [feedback, setFeedback] = useState<string | null>(null);
const [captchaKey, setCaptchaKey] = useState(0);
const router = useRouter();
const searchParams = useSearchParams();
const returnUrl = searchParams.get("returnUrl");
const { toast } = useToast();
const [isLoading, setIsLoading] = useState(false);
const [isGoogleLoading, setIsGoogleLoading] = useState(false);
@@ -117,9 +114,11 @@ export function useLoginPage() {
throw new Error(result.error || "Login failed");
}
// Prioritize returnUrl from query params over backend's onboarding logic
const next = computeReturnURL(returnUrl, result);
if (next) router.replace(next);
if (result.onboarding) {
router.replace("/onboarding");
} else {
router.replace("/marketplace");
}
} catch (error) {
toast({
title: