Files
astuto/app/javascript/components/LikeButton/LikeButtonP.tsx
2019-09-27 16:57:23 +02:00

37 lines
747 B
TypeScript

import * as React from 'react';
interface Props {
postId: number;
likesCount: number;
liked: number;
handleLikeSubmit(
postId: number,
isLike: boolean,
authenticityToken: string,
): void;
authenticityToken: string;
isLoggedIn: boolean;
}
const LikeButtonP = ({
postId,
likesCount,
liked,
handleLikeSubmit,
authenticityToken,
isLoggedIn,
}: Props) => (
<div className="likeButtonContainer">
<button onClick={() =>
isLoggedIn ?
handleLikeSubmit(postId, !liked, authenticityToken)
:
window.location.href = `/users/sign_in`
}>
{ liked ? 'down' : 'up' }
</button>
<span className="likesCountLabel">{likesCount}</span>
</div>
);
export default LikeButtonP;