From 1355873e32cfd2b9441df0f8755cdf3eb1deee34 Mon Sep 17 00:00:00 2001 From: guru_sainath Date: Mon, 20 May 2024 16:00:32 +0530 Subject: [PATCH] fix: next_path enabled for oauth auth (#4526) --- space/components/account/oauth/github-button.tsx | 5 ++++- space/components/account/oauth/google-button.tsx | 5 ++++- web/components/account/oauth/github-button.tsx | 5 ++++- web/components/account/oauth/google-button.tsx | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/space/components/account/oauth/github-button.tsx b/space/components/account/oauth/github-button.tsx index 41e6b7f923..ba65f38c4d 100644 --- a/space/components/account/oauth/github-button.tsx +++ b/space/components/account/oauth/github-button.tsx @@ -1,4 +1,5 @@ import { FC } from "react"; +import { useSearchParams } from "next/navigation"; import Image from "next/image"; import { useTheme } from "next-themes"; // helpers @@ -12,12 +13,14 @@ export type GithubOAuthButtonProps = { }; export const GithubOAuthButton: FC = (props) => { + const searchParams = useSearchParams(); + const nextPath = searchParams.get("next_path") || undefined; const { text } = props; // hooks const { resolvedTheme } = useTheme(); const handleSignIn = () => { - window.location.assign(`${API_BASE_URL}/auth/spaces/github/`); + window.location.assign(`${API_BASE_URL}/auth/spaces/github/${nextPath ? `?next_path=${nextPath}` : ``}`); }; return ( diff --git a/space/components/account/oauth/google-button.tsx b/space/components/account/oauth/google-button.tsx index d31c6f59fb..179b1c35ad 100644 --- a/space/components/account/oauth/google-button.tsx +++ b/space/components/account/oauth/google-button.tsx @@ -1,4 +1,5 @@ import { FC } from "react"; +import { useSearchParams } from "next/navigation"; import Image from "next/image"; import { useTheme } from "next-themes"; // helpers @@ -11,12 +12,14 @@ export type GoogleOAuthButtonProps = { }; export const GoogleOAuthButton: FC = (props) => { + const searchParams = useSearchParams(); + const nextPath = searchParams.get("next_path") || undefined; const { text } = props; // hooks const { resolvedTheme } = useTheme(); const handleSignIn = () => { - window.location.assign(`${API_BASE_URL}/auth/spaces/google/`); + window.location.assign(`${API_BASE_URL}/auth/spaces/google/${nextPath ? `?next_path=${nextPath}` : ``}`); }; return ( diff --git a/web/components/account/oauth/github-button.tsx b/web/components/account/oauth/github-button.tsx index 317cebe31b..be9b59f249 100644 --- a/web/components/account/oauth/github-button.tsx +++ b/web/components/account/oauth/github-button.tsx @@ -1,4 +1,5 @@ import { FC } from "react"; +import { useRouter } from "next/router"; import Image from "next/image"; import { useTheme } from "next-themes"; // helpers @@ -12,12 +13,14 @@ export type GithubOAuthButtonProps = { }; export const GithubOAuthButton: FC = (props) => { + const { query } = useRouter(); + const { next_path } = query; const { text } = props; // hooks const { resolvedTheme } = useTheme(); const handleSignIn = () => { - window.location.assign(`${API_BASE_URL}/auth/github/`); + window.location.assign(`${API_BASE_URL}/auth/github/${next_path ? `?next_path=${next_path}` : ``}`); }; return ( diff --git a/web/components/account/oauth/google-button.tsx b/web/components/account/oauth/google-button.tsx index 2b3df49315..d196ff97a3 100644 --- a/web/components/account/oauth/google-button.tsx +++ b/web/components/account/oauth/google-button.tsx @@ -1,4 +1,5 @@ import { FC } from "react"; +import { useRouter } from "next/router"; import Image from "next/image"; import { useTheme } from "next-themes"; // helpers @@ -11,12 +12,14 @@ export type GoogleOAuthButtonProps = { }; export const GoogleOAuthButton: FC = (props) => { + const { query } = useRouter(); + const { next_path } = query; const { text } = props; // hooks const { resolvedTheme } = useTheme(); const handleSignIn = () => { - window.location.assign(`${API_BASE_URL}/auth/google/`); + window.location.assign(`${API_BASE_URL}/auth/google/${next_path ? `?next_path=${next_path}` : ``}`); }; return (