Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 1198 | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5334 stevensc 1
import React, { useState } from 'react'
2
 
1193 stevensc 3
/* import { useDispatch } from 'react-redux'; */
4
/* import { addNotification } from '../../../../redux/notification/notification.actions'; */
1192 stevensc 5
 
1198 stevensc 6
const LikeButton = ({ likeUrl, showCounter = false, onClick }) => {
5334 stevensc 7
  const [isLike, setIsLike] = useState(false)
8
  const [likesState, setLikesState] = useState(0)
9
  /* const dispatch = useDispatch() */
1192 stevensc 10
 
5334 stevensc 11
  const handleClick = (url) => {
12
    if (!url) {
13
      setIsLike(!isLike)
14
      if (onClick) {
15
        onClick()
16
      }
17
    }
18
    /* else {
1192 stevensc 19
            axios.post(url)
20
                .then((res) => {
21
                    const { success, data } = res.data;
22
                    if (!success) {
23
                        setIsLike(!isLike);
24
                        dispatch(addNotification({
25
                            style: "danger",
26
                            msg: data,
27
                        }));
28
                    } else {
29
                        setLikesState(data.likes)
30
                        setIsLike(!isLike);
31
                    }
32
                });
1193 stevensc 33
        } */
5334 stevensc 34
  }
1192 stevensc 35
 
5334 stevensc 36
  return (
1192 stevensc 37
        <button
38
            type="button"
5334 stevensc 39
            className={isLike ? 'btn-unlike' : 'btn-like'}
1192 stevensc 40
            onClick={() => handleClick(likeUrl)}
41
        >
5334 stevensc 42
            <i className={isLike ? 'fas fa-heart' : 'far fa-heart'}></i>
1194 stevensc 43
            {showCounter && likesState}
1192 stevensc 44
        </button>
5334 stevensc 45
  )
1192 stevensc 46
}
47
 
5334 stevensc 48
export default LikeButton