Rev 3694 | AutorÃa | Comparar con el anterior | Ultima modificación | Ver Log |
import React from 'react';import Clear from '@mui/icons-material/Clear';import Delete from '@mui/icons-material/Delete';import Done from '@mui/icons-material/Done';import { Link } from 'react-router-dom';import { Avatar, IconButton, styled } from '@mui/material';import Modal from '@components/UI/modal/Modal';import colors from '@styles/config/colors';const StyledMemberContainer = styled('div')(() => ({display: 'flex',alignItems: 'center',justifyContent: 'space-between',gap: '0.5rem',padding: '10px 0',borderTop: `1px solid ${colors.border.primary}`,borderBottom: `1px solid ${colors.border.primary}`}));const StyledMemberInfo = styled('div')(() => ({display: 'flex',alignItems: 'center',gap: '0.5rem'}));const StyledMemberImage = styled(Avatar)(() => ({width: 40,height: 40}));const MembersModal = ({isShow = false,members = [],handleClose = function () {},handleAction = function () {}}) => {return (<Modaltitle='Miembros'show={isShow}onClose={handleClose}onReject={handleClose}showFooter={false}>{members.map((member) => (<Member key={member.id} member={member} handleAction={handleAction} />))}</Modal>);};const Member = ({ member = {}, handleAction = function () {} }) => {const { name = '', image = '', profile = '', actions = {} } = member;return (<StyledMemberContainer><StyledMemberInfo><Link to={profile}><StyledMemberImage src={image} alt={`${name} profile image`} /></Link><h4>{name}</h4></StyledMemberInfo>{actions?.link_approve && (<IconButton onClick={() => handleAction(actions.link_approve)} title='Aprobar'><Done /></IconButton>)}{actions?.link_reject && (<IconButton onClick={() => handleAction(actions.link_reject)} title='Rechazar'><Clear /></IconButton>)}{actions?.link_cancel && (<IconButton onClick={() => handleAction(actions.link_cancel)} title='Cancelar'><Delete /></IconButton>)}</StyledMemberContainer>);};export default MembersModal;