@appello/mobile
Version:
Common package with many useful features for mobile development
25 lines (24 loc) • 1.01 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.useFacebookSignIn = useFacebookSignIn;
const react_1 = require("react");
const react_native_fbsdk_next_1 = require("react-native-fbsdk-next");
function useFacebookSignIn(onSuccess, onError) {
const signIn = (0, react_1.useCallback)(async () => {
try {
const { isCancelled } = await react_native_fbsdk_next_1.LoginManager.logInWithPermissions(['public_profile', 'email']);
if (isCancelled) {
throw new Error('Facebook sign in cancelled');
}
const accessToken = await react_native_fbsdk_next_1.AccessToken.getCurrentAccessToken();
if (!accessToken) {
throw new Error(`{accessToken} is falsy`);
}
onSuccess(accessToken.accessToken);
}
catch (e) {
onError === null || onError === void 0 ? void 0 : onError(e);
}
}, [onError, onSuccess]);
return [signIn];
}