Rev 2887 | Rev 2890 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useEffect, useState } from "react";import { useDispatch } from "react-redux";import { addNotification } from "../../../redux/notification/notification.actions";import { axios } from "../../../utils";import styles from "./peopleYouMayKnow.module.scss";const PeopleYouMayKnow = () => {// statesconst [peopleYouMayKnow, setPeopleYouMayKnow] = useState([]);const [error, setError] = useState("");const dispatch = useDispatch()const handleConnect = (url) => {axios.post(url).then(({ data }) => {if (!data.success) {return dispatch(addNotification({style: 'danger',msg: typeof data.data === 'string'? data.data: 'Ha ocurrido un error'}))}dispatch(addNotification({style: 'success',msg: data.data}))return getSuggestion()})}const getSuggestion = (url) => {axios.get(`/helpers/people-you-may-know`).then((response) => {const resData = response.data;if (resData.success) {setPeopleYouMayKnow(resData.data);} else {// alert error}});}useEffect(() => {getSuggestion()}, []);return (<div className={styles.peopleYouMayKnow} id="suggestions-list-people-you-may-know"><div className="sd-title"><h3>Personas que puede conocer</h3></div><><div className={styles.suggestionList}>{peopleYouMayKnow.length ? (<React.Fragment>{error ? (<div className="suggestion-usd"> Ha ocurrido un error :( </div>) : (peopleYouMayKnow.map(({ id, image, link_cancel, link_request, name, profile, relation }) => (<div className={styles.user} key={id}><div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}><a href={profile} target="_blank"><img src={image} alt={`${name} profile image`} /></a><h4>{name}</h4></div><div className="w-100 d-flex align-items-center justify-content-center" style={{ gap: '.5rem' }}>{link_request&&<buttonclassName="btn btn-primary"onClick={() => handleConnect(link_request)}>Conectar</button>}{link_cancel&&<buttonclassName="btn btn-secondary"onClick={() => handleConnect(link_cancel)}>Cancelar</button>}</div></div>)))}</React.Fragment>) : (<div className="view-more">Sin sugerencias</div>)}</div>{!error && (<div className={styles.viewMore}><a href="/connection/people-you-may-know" target="_blank"><buttonclassName="btn btn-primary"type="button"style={{ padding: '2px 10px' }}>Ver más</button></a></div>)}</></div >);};export default PeopleYouMayKnow;