From 1590b528bf0f6162a918cf00e59c4786bf08cffd Mon Sep 17 00:00:00 2001 From: Sheen Capadngan Date: Wed, 23 Apr 2025 03:07:50 +0800 Subject: [PATCH] misc: used url search params --- .../components/InitialStep/InitialStep.tsx | 51 ++++++++++++------- 1 file changed, 33 insertions(+), 18 deletions(-) diff --git a/frontend/src/pages/auth/LoginPage/components/InitialStep/InitialStep.tsx b/frontend/src/pages/auth/LoginPage/components/InitialStep/InitialStep.tsx index c42ca08ba..820cda786 100644 --- a/frontend/src/pages/auth/LoginPage/components/InitialStep/InitialStep.tsx +++ b/frontend/src/pages/auth/LoginPage/components/InitialStep/InitialStep.tsx @@ -269,12 +269,17 @@ export const InitialStep = ({ variant="outline_bg" onClick={() => { const callbackPort = queryParams.get("callback_port"); - const queryString = [ - callbackPort && `callback_port=${callbackPort}`, - isAdmin && "is_admin_login=true" - ] - .filter(Boolean) - .join("&"); + const searchParams = new URLSearchParams(); + + if (callbackPort) { + searchParams.append("callback_port", callbackPort); + } + + if (isAdmin) { + searchParams.append("is_admin_login", "true"); + } + + const queryString = searchParams.toString(); window.open(`/api/v1/sso/redirect/google${queryString ? `?${queryString}` : ""}`); window.close(); @@ -293,12 +298,17 @@ export const InitialStep = ({ variant="outline_bg" onClick={() => { const callbackPort = queryParams.get("callback_port"); - const queryString = [ - callbackPort && `callback_port=${callbackPort}`, - isAdmin && "is_admin_login=true" - ] - .filter(Boolean) - .join("&"); + const searchParams = new URLSearchParams(); + + if (callbackPort) { + searchParams.append("callback_port", callbackPort); + } + + if (isAdmin) { + searchParams.append("is_admin_login", "true"); + } + + const queryString = searchParams.toString(); window.open(`/api/v1/sso/redirect/github${queryString ? `?${queryString}` : ""}`); window.close(); @@ -317,12 +327,17 @@ export const InitialStep = ({ variant="outline_bg" onClick={() => { const callbackPort = queryParams.get("callback_port"); - const queryString = [ - callbackPort && `callback_port=${callbackPort}`, - isAdmin && "is_admin_login=true" - ] - .filter(Boolean) - .join("&"); + const searchParams = new URLSearchParams(); + + if (callbackPort) { + searchParams.append("callback_port", callbackPort); + } + + if (isAdmin) { + searchParams.append("is_admin_login", "true"); + } + + const queryString = searchParams.toString(); window.open(`/api/v1/sso/redirect/gitlab${queryString ? `?${queryString}` : ""}`); window.close();