= {};
@@ -144,6 +149,7 @@ export function useLoginEmail({ redirectUrl }: { redirectUrl: string | null }) {
},
onSuccess: () => {
if (redirectUrl) {
+ localStorage.removeItem("redirectUrl");
navigate(decodeURIComponent(redirectUrl));
} else {
navigate("/");
@@ -172,28 +178,13 @@ export function useLoginEmail({ redirectUrl }: { redirectUrl: string | null }) {
return { mutate, isPending, errors };
}
-export function useLoginGoogle({
- redirectUrl,
-}: {
- redirectUrl: string | null;
-}) {
- console.log({
- redirectTo: redirectUrl
- ? `${
- window.location.origin
- }/login-with-oauth?redirect=${encodeURIComponent(redirectUrl)}`
- : `${window.location.origin}/login-with-oauth`,
- });
+export function useLoginGoogle() {
const { mutate } = useMutation({
mutationFn: async () => {
const { data, error } = await supabase.auth.signInWithOAuth({
provider: "google",
options: {
- redirectTo: redirectUrl
- ? `${
- window.location.origin
- }/login-with-oauth?redirect=${encodeURIComponent(redirectUrl)}`
- : `${window.location.origin}/login-with-oauth`,
+ redirectTo: `${window.location.origin}/login-with-oauth`,
},
});
if (error) throw error;
diff --git a/ui/src/pages/login.tsx b/ui/src/pages/login.tsx
index 87a576e..2c3d884 100644
--- a/ui/src/pages/login.tsx
+++ b/ui/src/pages/login.tsx
@@ -5,13 +5,17 @@ import { Label, Input, TextField, FieldError } from "@ui/ui-library/field";
import { useLoginEmail } from "@ui/hooks/auth";
import { Form } from "@ui/ui-library/form";
import { LoginWithGoogle } from "@ui/components/BrandButtons/LoginWithGoogle";
-import { Link, useSearchParams } from "react-router-dom";
+import { Link } from "react-router-dom";
export function LoginPage() {
- const [searchParams] = useSearchParams();
- const redirectUrl = searchParams.get("redirect");
-
- const { mutate: login, isPending, errors } = useLoginEmail({ redirectUrl });
+ const redirectUrl = localStorage.getItem("redirectUrl");
+ const {
+ mutate: login,
+ isPending,
+ errors,
+ } = useLoginEmail({
+ redirectUrl: redirectUrl ?? null,
+ });
const [formData, setFormData] = useState({
email: "",
password: "",
@@ -116,7 +120,7 @@ export function LoginPage() {
-
+
Pas encore de compte ?{" "}
diff --git a/ui/src/pages/oauth-signin.tsx b/ui/src/pages/oauth-signin.tsx
index 81dd804..f4794f5 100644
--- a/ui/src/pages/oauth-signin.tsx
+++ b/ui/src/pages/oauth-signin.tsx
@@ -1,5 +1,5 @@
import { useEffect } from "react";
-import { useNavigate, useSearchParams } from "react-router-dom";
+import { useNavigate } from "react-router-dom";
import { useSession } from "@ui/contexts/SessionContext";
import { useSignUpToStream } from "@ui/hooks/auth";
@@ -7,13 +7,13 @@ export const OAuthSigninPage = () => {
const navigate = useNavigate();
const { session } = useSession();
const { signUpToStream } = useSignUpToStream();
- const [searchParams] = useSearchParams();
- const redirectUrl = searchParams.get("redirect");
+ const redirectUrl = localStorage.getItem("redirectUrl");
useEffect(() => {
const interval = setInterval(() => {
if (session) {
signUpToStream(session.access_token);
if (redirectUrl) {
+ localStorage.removeItem("redirectUrl");
navigate(decodeURIComponent(redirectUrl));
} else {
navigate("/");
diff --git a/ui/src/pages/signup.tsx b/ui/src/pages/signup.tsx
index 1d1bd8e..a953cca 100644
--- a/ui/src/pages/signup.tsx
+++ b/ui/src/pages/signup.tsx
@@ -1,6 +1,6 @@
import { Button } from "@ui/ui-library/button";
import { twMerge } from "tailwind-merge";
-import { Link, useNavigate, useSearchParams } from "react-router-dom";
+import { Link, useNavigate } from "react-router-dom";
import { useState } from "react";
import { Label, Input, TextField, FieldError } from "@ui/ui-library/field";
import { useSignUp } from "@ui/hooks/auth";
@@ -10,9 +10,10 @@ import { LoginWithGoogle } from "@ui/components/BrandButtons/LoginWithGoogle";
export function SignUpPage() {
const navigate = useNavigate();
- const [searchParams] = useSearchParams();
- const redirectUrl = searchParams.get("redirect");
- const { mutate: signUp, isPending } = useSignUp();
+ const redirectUrl = localStorage.getItem("redirectUrl");
+ const { mutate: signUp, isPending } = useSignUp({
+ redirectUrl: redirectUrl ?? null,
+ });
const [errors, setErrors] = useState>({});
const [formData, setFormData] = useState({
@@ -248,7 +249,7 @@ export function SignUpPage() {
-
+
Déjà un compte ?{" "}