aboutsummaryrefslogtreecommitdiff
path: root/src/components/PollCard
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/PollCard')
-rw-r--r--src/components/PollCard/PollCard.tsx15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/components/PollCard/PollCard.tsx b/src/components/PollCard/PollCard.tsx
index 2a23522..aab0261 100644
--- a/src/components/PollCard/PollCard.tsx
+++ b/src/components/PollCard/PollCard.tsx
@@ -6,10 +6,10 @@ import {
CardMedia
} from '@material-ui/core/';
import { Which, Poll } from 'which-types';
-
import PercentageBar from './PercentageBar';
import UserStrip from '../UserStrip/UserStrip';
import { post } from '../../requests';
+import {useSnackbar} from "notistack";
interface PropTypes {
initialPoll: Poll;
@@ -57,17 +57,28 @@ const PollCard: React.FC<PropTypes> = ({ initialPoll }) => {
const [poll, setPoll] = useState<Poll>(initialPoll);
const classes = useStyles();
const { author, contents: { left, right }, vote } = poll;
+ const { enqueueSnackbar, closeSnackbar } = useSnackbar();
const date: string = new Date(poll.createdAt).toLocaleString('default', DATE_FORMAT);
const handleVote = (which: Which) => {
- if (vote) return;
+ if (vote) {
+ showSnackBar('You have voted already');
+ return;
+ }
post('votes/', { which, pollId: poll._id }).then(response => {
+ console.log(response.data);
poll.contents[which].votes += 1;
poll.vote = response.data;
setPoll({ ...poll });
});
};
+ const showSnackBar = (message: string) => {
+ enqueueSnackbar(message, {
+ variant: 'warning',
+ });
+ };
+
const handleLeft = () => handleVote('left');
const handleRight = () => handleVote('right');