Sha256: 0669fe5bfef8ec0764a2085928f0aa4f65267ba3ea727ee69d4712aad183c14e

Contents?: true

Size: 909 Bytes

Versions: 2

Compression:

Stored size: 909 Bytes

Contents

import * as React from "react";
import Icon from "../application/icon.component";

interface VoteButtonProps {
  buttonClassName: string;
  iconName: string;
  votes: number;
  voteAction?: () => void;
  disabled?: boolean;
  selectedClass?: string;
  userLoggedIn: boolean;
}

const preventDefault = (event: any) => {
  event.preventDefault();
};

const VoteButton: React.SFC<VoteButtonProps> = ({
  buttonClassName,
  iconName,
  votes,
  voteAction,
  disabled,
  selectedClass,
  userLoggedIn,
}) => (
  <button
    className={`${buttonClassName} ${selectedClass}`}
    onClick={userLoggedIn ? voteAction : preventDefault}
    disabled={disabled}
    data-open={userLoggedIn ? null : "loginModal"}
  >
    <Icon name={iconName} iconExtraClassName="icon--small" />
    {` ${votes}`}
  </button>
);

VoteButton.defaultProps = {
  selectedClass: "selected",
  disabled: false,
};

export default VoteButton;

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
decidim-comments-0.3.2 app/frontend/comments/vote_button.component.tsx
decidim-0.3.2 decidim-comments/app/frontend/comments/vote_button.component.tsx