abhaybisht2002
02/14/2024, 9:23 AMjs
const routerInfo: { router?: ReturnType<typeof useRouter>; pathName?: string } = {};
export function setRouter(router: ReturnType<typeof useRouter>, pathName: string) {
routerInfo.router = router;
routerInfo.pathName = pathName;
}
export const frontendConfig = (): SuperTokensConfig => {
return {
appInfo,
recipeList: [
ThirdPartyEmailPasswordReact.init({
signInAndUpFeature: {
providers: [
ThirdPartyEmailPasswordReact.Google.init(),
ThirdPartyEmailPasswordReact.Github.init(),
],
},
getRedirectionURL: async (context) => {
if (context.action === "SUCCESS") {
if (context.redirectToPath !== undefined) {
return context.redirectToPath;
}
if (context.isNewPrimaryUser) {
return "/auth"
} else {
return "/";
}
}
return undefined
},
}),
SessionReact.init({
tokenTransferMethod: "cookie"
})
],
windowHandler: (orig) => {
return {
...orig,
location: {
...orig.location,
getPathName: () => routerInfo.pathName!,
assign: (url) => routerInfo.router!.push(url.toString()),
setHref: (url) => routerInfo.router!.push(url.toString()),
},
};
},
};
};