From 41d70fa528f115a5f87876be1f020b7bc4a0f3fd Mon Sep 17 00:00:00 2001 From: Shobhit Singhal Date: Tue, 7 Feb 2023 14:46:34 +0530 Subject: [PATCH] Allow passing of extras prop to FB.login() --- src/components/LoginButton.tsx | 2 ++ src/hooks/useLogin.ts | 1 + src/utils/Facebook.ts | 8 +++++++- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/components/LoginButton.tsx b/src/components/LoginButton.tsx index 8c6e19d..22f3296 100644 --- a/src/components/LoginButton.tsx +++ b/src/components/LoginButton.tsx @@ -21,6 +21,7 @@ export default function LoginButton(props: LoginButton) { authType, rerequest, reauthorize, + extras, onError, onSuccess, ...rest @@ -40,6 +41,7 @@ export default function LoginButton(props: LoginButton) { authType, rerequest, reauthorize, + extras, }); onSuccess?.(response); diff --git a/src/hooks/useLogin.ts b/src/hooks/useLogin.ts index 8f4a0a6..e21505e 100644 --- a/src/hooks/useLogin.ts +++ b/src/hooks/useLogin.ts @@ -9,6 +9,7 @@ export type LoginOptions = { authType?: string[]; rerequest?: boolean; reauthorize?: boolean; + extras?: Record; }; export default function useLogin() { diff --git a/src/utils/Facebook.ts b/src/utils/Facebook.ts index 94bc64f..8c4385a 100644 --- a/src/utils/Facebook.ts +++ b/src/utils/Facebook.ts @@ -19,6 +19,7 @@ export type LoginOptions = { authType?: string[]; rerequest?: boolean; reauthorize?: boolean; + extras?: Record; }; declare global { interface Window { @@ -173,11 +174,12 @@ export default class Facebook { } async login(options: LoginOptions) { - const { scope, authType = [], returnScopes, rerequest, reauthorize } = options; + const { scope, authType = [], returnScopes, rerequest, reauthorize, extras } = options; const loginOptions: { return_scopes?: boolean; auth_type?: string; scope?: string; + extras?: Record; } = { scope, }; @@ -198,6 +200,10 @@ export default class Facebook { loginOptions.auth_type = authType.join(','); } + if (extras) { + loginOptions.extras = extras; + } + return this.process(Namespace.LOGIN, [], [loginOptions]); }