Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 4540 | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |

/* eslint-disable react/prop-types */
import React from 'react'
import parse from 'html-react-parser'
import { axios } from '../../../../../utils';
import { useDispatch } from 'react-redux'
import { addNotification } from '../../../../../redux/notification/notification.actions';
import Avatar from '../../../../../shared/Avatar/Avatar';

const CompanyActions = ({ cover, companyId, name, image, actionLinks, overview, refetch }) => {

    const dispatch = useDispatch();

    const handleButtonAction = async (link) => {
        const { data: response } = await axios.post(link);
        if (response.success) {
            dispatch(addNotification({ style: "success", msg: response.data }))
            refetch();
        } else {
            dispatch(addNotification({ style: "danger", msg: "ha ocurrido un error" }))
        }
    };

    return (
        <div className="group__actions">
            <div className="group__actions-cover">
                <img src={`/storage/type/company-cover/code/${companyId}/${cover ? `filename/${cover}` : ""}`} alt='Profile cover' className='sidebar__cover' />
            </div>
            <div className="group__actions-body">
                <Avatar imageUrl={`/storage/type/company/code/${companyId}/${image ? `filename/${image}` : ""}`} size='xl' name={name} />
                <h1>{name}</h1>
                {parse(overview)}
                <div className="row" style={{ gap: '.5rem' }}>
                    {actionLinks?.link_contact &&
                        <a
                            href={actionLinks?.link_contact}
                            className="button btn btn-primary"
                        >
                            Mensaje
                        </a>
                    }
                    {actionLinks?.link_unfollow &&
                        <button
                            className="button btn btn-secondary"
                            onClick={() => handleButtonAction(actionLinks?.link_unfollow)}
                        >
                            Dejar de seguir
                        </button>
                    }
                    {actionLinks?.link_follow &&
                        <button
                            className="btn btn-primary"
                            onClick={() => handleButtonAction(actionLinks?.link_follow)}
                        >
                            Seguir
                        </button>
                    }
                    {
                        (actionLinks?.link_request && actionLinks?.link_unfollow)
                        &&
                        <button
                            className="button btn btn-secondary"
                            onClick={() => handleButtonAction(actionLinks?.link_request)}
                        >
                            ¿Trabaja en esta empresa?
                        </button>
                    }
                    {actionLinks?.link_accept &&
                        <button
                            className="button btn btn-primary"
                            onClick={() => handleButtonAction(actionLinks?.link_accept)}
                        >
                            Aceptar
                        </button>
                    }
                    {actionLinks?.link_cancel &&
                        <button
                            title=""
                            className="button btn btn-secondary"
                            onClick={() => handleButtonAction(actionLinks?.link_cancel)}
                        >
                            Cancelar
                        </button>
                    }
                    {actionLinks?.link_reject &&
                        <button
                            title=""
                            className="button btn btn-secondary"
                            onClick={() => handleButtonAction(actionLinks?.link_reject)}
                        >
                            Rechazar
                        </button>
                    }
                    {actionLinks?.link_leave &&
                        <button
                            data-link="{{>link_leave}}"
                            title=""
                            className="button btn btn-secondary"
                            onClick={() => handleButtonAction(actionLinks?.link_leave)}
                        >
                            Abandonar esta empresa
                        </button>
                    }
                </div>
            </div>
        </div>
    )
}

export default CompanyActions