From 75eb28d8338c1e0601c94640303f91ef09bd583a Mon Sep 17 00:00:00 2001
From: ilyayudovin <ilyayudovin123@gmail.com>
Date: Tue, 30 Jun 2020 18:41:28 +0300
Subject: feat: add snackbar for showing messages to a user

---
 src/components/PollCard/PollCard.tsx | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

(limited to 'src/components/PollCard/PollCard.tsx')

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');
 
-- 
cgit v1.2.3


From 75c1dac4bceddab1d94b9e43c2fb2035297eb6bd Mon Sep 17 00:00:00 2001
From: ilyayudovin <ilyayudovin123@gmail.com>
Date: Wed, 1 Jul 2020 14:38:39 +0300
Subject: fix eslint errors

---
 src/components/PollCard/PollCard.tsx | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

(limited to 'src/components/PollCard/PollCard.tsx')

diff --git a/src/components/PollCard/PollCard.tsx b/src/components/PollCard/PollCard.tsx
index aab0261..ef7391e 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 { useSnackbar } from 'notistack';
 import PercentageBar from './PercentageBar';
 import UserStrip from '../UserStrip/UserStrip';
 import { post } from '../../requests';
-import {useSnackbar} from "notistack";
 
 interface PropTypes {
   initialPoll: Poll;
@@ -57,28 +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 { enqueueSnackbar } = useSnackbar();
   const date: string = new Date(poll.createdAt).toLocaleString('default', DATE_FORMAT);
 
+
+  const showSnackBar = (message: string) => {
+    enqueueSnackbar(message, {
+      variant: 'error'
+    });
+  };
+
   const handleVote = (which: Which) => {
     if (vote) {
-      showSnackBar('You have voted already');
+      showSnackBar('You have already voted');
       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');
 
-- 
cgit v1.2.3


From f9999d6da7752a55ad01f85dce34086c1acbff5a Mon Sep 17 00:00:00 2001
From: ilyayudovin <ilyayudovin123@gmail.com>
Date: Wed, 1 Jul 2020 15:26:08 +0300
Subject: move snack provider to Page component

---
 src/components/PollCard/PollCard.tsx | 11 +++--------
 1 file changed, 3 insertions(+), 8 deletions(-)

(limited to 'src/components/PollCard/PollCard.tsx')

diff --git a/src/components/PollCard/PollCard.tsx b/src/components/PollCard/PollCard.tsx
index ef7391e..12f7198 100644
--- a/src/components/PollCard/PollCard.tsx
+++ b/src/components/PollCard/PollCard.tsx
@@ -60,16 +60,11 @@ const PollCard: React.FC<PropTypes> = ({ initialPoll }) => {
   const { enqueueSnackbar } = useSnackbar();
   const date: string = new Date(poll.createdAt).toLocaleString('default', DATE_FORMAT);
 
-
-  const showSnackBar = (message: string) => {
-    enqueueSnackbar(message, {
-      variant: 'error'
-    });
-  };
-
   const handleVote = (which: Which) => {
     if (vote) {
-      showSnackBar('You have already voted');
+      enqueueSnackbar('You have already voted', {
+        variant: 'error'
+      });
       return;
     }
     post('votes/', { which, pollId: poll._id }).then(response => {
-- 
cgit v1.2.3

