Rev 3897 | Rev 3899 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
/* eslint-disable react/prop-types */
import React from "react";
import { useEffect, useState } from "react";
import { axios } from "../../../utils";
const CompanyFollowersHelper = ({ companyId }) => {
const [companyFollowers, setCompanyFollowers] = useState([]);
const [showFollowersModal, setShowFollowersModal] = useState(false);
const [lookMore, setLookMore] = useState(false);
useEffect(() => {
axios.get(`/helpers/company-follower/${companyId}`)
.then(({ data }) => {
if (data.success) setCompanyFollowers(data.data)
})
}, []);
const getData = () => {
let infoFollows = [...companyFollowers]
if (!lookMore) {
infoFollows = infoFollows.slice(0, 3);
}
return infoFollows
}
return (
<>
<div className="peopleYouMayKnow">
<div className="sd-title d-flex align-items-center justify-content-between">
<h3>Seguidores:</h3>
<a href="#"
onClick={(e) => {
e.preventDefault()
setLookMore(!lookMore)
}}
>
{lookMore ? 'Ver menos' : 'Ver mas'}
</a>
</div>
<div className="suggest-list">
{companyFollowers.length
? getData().map((follower) =>
<CompanyFollowersHelper.Template
key={follower.id}
follower={follower}
/>
)
: <div className="view-more">Sin seguidores</div>
}
</div>
</div>
<button
onClick={() => setShowFollowersModal(!showFollowersModal)}
className="btn btn-primary btn-sm w-100 d-md-none"
>
Ver seguidores
</button>
<CompanyFollowersHelper.Modal
isShow={showFollowersModal}
followers={getData()}
handleClose={() => setShowFollowersModal(false)}
/>
</>
);
};
const Template = ({ follower }) => {
const { name, image, profile } = follower
return (
<div className='user'>
<div className="w-100 d-flex align-items-center" style={{ gap: '.5rem' }}>
<a href={profile} target="_blank" rel="noreferrer">
<img src={image} alt={`${name} profile image`} />
</a>
<h4>{name}</h4>
</div>
<div className="w-100 d-flex align-items-center justify-content-start" style={{ gap: '.5rem' }}>
<a
href={profile}
className="btn btn-primary"
target='_blank'
rel="noreferrer"
>
Ver perfil
</a>
</div>
</div>
)
}
const Modal = ({
isShow = false,
followers = [],
handleClose = function () { }
}) => {
return (
<Modal show={isShow} onHide={handleClose}>
<Modal.Header closeButton>
<h3>Seguidores</h3>
</Modal.Header>
<Modal.Body>
{followers.map((follower) =>
<CompanyFollowersHelper.Template
key={follower.id}
follower={follower}
/>
)}
</Modal.Body>
</Modal>
)
}
CompanyFollowersHelper.Template = Template
CompanyFollowersHelper.Modal = Modal
export default CompanyFollowersHelper;