diff --git a/packages/webapp/components/ProtectedPage.tsx b/packages/webapp/components/ProtectedPage.tsx index e7b3b27797..2d77c1c587 100644 --- a/packages/webapp/components/ProtectedPage.tsx +++ b/packages/webapp/components/ProtectedPage.tsx @@ -2,6 +2,7 @@ import type { ReactElement, ReactNode } from 'react'; import React, { useContext, useEffect } from 'react'; import { useRouter } from 'next/router'; import AuthContext from '@dailydotdev/shared/src/contexts/AuthContext'; +import { AFTER_AUTH_PARAM } from '@dailydotdev/shared/src/components/auth/common'; export interface ProtectedPageProps { children: ReactNode; @@ -19,7 +20,12 @@ function ProtectedPage({ useEffect(() => { if (tokenRefreshed && !user) { - router.replace('/'); + const params = new URLSearchParams(window.location.search); + if (!params.get(AFTER_AUTH_PARAM)) { + params.set(AFTER_AUTH_PARAM, window.location.pathname); + } + const redirectUrl = params.toString() ? `/?${params.toString()}` : '/'; + router.replace(redirectUrl); } // @NOTE see https://dailydotdev.atlassian.net/l/cp/dK9h1zoM // eslint-disable-next-line react-hooks/exhaustive-deps