enhancement(login): add redirectBackTo parameter to login button

Signed-off-by: Erik Michelson <github@erik.michelson.eu>
This commit is contained in:
Erik Michelson 2023-09-24 23:37:03 +02:00 committed by Philip Molares
parent 1207ce7690
commit 1199db4692
2 changed files with 21 additions and 7 deletions

View file

@ -14,6 +14,7 @@ import type { ButtonProps } from 'react-bootstrap/Button'
import { Trans } from 'react-i18next'
import { filterOneClickProviders } from '../../login-page/utils/filter-one-click-providers'
import { getOneClickProviderMetadata } from '../../login-page/one-click/get-one-click-provider-metadata'
import { usePathname } from 'next/navigation'
export type SignInButtonProps = Omit<ButtonProps, 'href'>
@ -26,6 +27,7 @@ export type SignInButtonProps = Omit<ButtonProps, 'href'>
*/
export const SignInButton: React.FC<SignInButtonProps> = ({ variant, ...props }) => {
const authProviders = useFrontendConfig().authProviders
const pathname = usePathname()
const loginLink = useMemo(() => {
const oneClickProviders = filterOneClickProviders(authProviders)
@ -33,8 +35,8 @@ export const SignInButton: React.FC<SignInButtonProps> = ({ variant, ...props })
const metadata = getOneClickProviderMetadata(oneClickProviders[0])
return metadata.url
}
return '/login'
}, [authProviders])
return `/login?redirectBackTo=${pathname}`
}, [authProviders, pathname])
const buttonTitle = useTranslatedText('login.signIn')
return (