UNPKG

@krowdy/kds-auth

Version:

React components that implement Google's Material Design.

66 lines (62 loc) 1.58 kB
import React, { useCallback } from 'react'; import FacebookLogin from 'react-facebook-login'; import { IMAGES_SOCIAL, METHODS_SESSION } from './constants'; import { makeStyles } from '@krowdy/kds-core'; import { useAuth } from '../utils'; const FacebookButton = () => { const classes = useStyles(); const { facebookCredentials: { clientId } = {}, validateSocialNetwork } = useAuth(); const _handleSuccess = useCallback(response => { if (response && response.accessToken) { const { accessToken: tokenId } = response; validateSocialNetwork('facebook', { method: METHODS_SESSION['facebook'], tokenId }); } }, [validateSocialNetwork]); return clientId ? /*#__PURE__*/React.createElement(FacebookLogin, { appId: clientId, callback: _handleSuccess, cssClass: classes.buttonFb, fields: "name,email,picture", icon: /*#__PURE__*/React.createElement("img", { alt: "facebookSocial", className: classes.icon, src: IMAGES_SOCIAL['facebook'] }), textButton: "Ingresa con Facebook" }) : null; }; const useStyles = makeStyles(({ spacing, palette }) => ({ buttonFb: { '&:hover': { background: '#4A6BB3' }, background: '#4A6BB3', border: 'none', borderRadius: spacing(.5), color: palette.common.white, cursor: 'pointer', fontSize: 14, height: 40, marginTop: spacing(2), width: '100%' }, icon: { marginRight: spacing(2) } }), { name: 'FacebookButton' }); export default React.memo(FacebookButton);