From 1f646377c35b65b97d6eeebb1e88f6d8307e1ef0 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Mon, 29 Jun 2020 23:59:15 +0300
Subject: feat!: create useAuth hook

---
 src/pages/ProfilePage/ProfilePage.tsx | 10 ++--------
 1 file changed, 2 insertions(+), 8 deletions(-)

(limited to 'src/pages/ProfilePage/ProfilePage.tsx')

diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index b0ac103..ad2da46 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -6,15 +6,11 @@ import Feed from '../../components/Feed/Feed';
 import { get } from '../../requests';
 
 interface PropTypes {
-  logOut: () => void;
   navigate: (prefix: string, id: string) => void;
   id: string;
-  setUser:(a:User)=>void;
 }
 
-const ProfilePage: React.FC<PropTypes> = ({
-  logOut, id, navigate, setUser
-}) => {
+const ProfilePage: React.FC<PropTypes> = ({ id, navigate }) => {
   const [userInfo, setUserInfo] = useState<User>();
   const [polls, setPolls] = useState<Poll[]>([]);
   const [totalVotes, setTotalVotes] = useState<number>(0);
@@ -40,10 +36,8 @@ const ProfilePage: React.FC<PropTypes> = ({
   return (
     <>
       <ProfileInfo
-        user={userInfo}
+        userInfo={userInfo}
         setUserInfo={setUserInfo}
-        setUser={setUser}
-        logOut={logOut}
         savedPolls={polls.length}
         totalVotes={totalVotes}
       />
-- 
cgit v1.2.3


From 1499c0126d1a7a2377b0267b761479100c636ee9 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Tue, 30 Jun 2020 00:41:09 +0300
Subject: feat!: create useNavigate hook

---
 src/pages/ProfilePage/ProfilePage.tsx | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

(limited to 'src/pages/ProfilePage/ProfilePage.tsx')

diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index ad2da46..808d43a 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -4,16 +4,18 @@ import { User, Poll } from 'which-types';
 import ProfileInfo from './ProfileInfo';
 import Feed from '../../components/Feed/Feed';
 import { get } from '../../requests';
+import { useAuth } from '../../hooks/useAuth'; 
+import { useNavigate } from '../../hooks/useNavigate'; 
 
-interface PropTypes {
-  navigate: (prefix: string, id: string) => void;
-  id: string;
-}
 
-const ProfilePage: React.FC<PropTypes> = ({ id, navigate }) => {
+const ProfilePage: React.FC = () => {
   const [userInfo, setUserInfo] = useState<User>();
   const [polls, setPolls] = useState<Poll[]>([]);
   const [totalVotes, setTotalVotes] = useState<number>(0);
+  const { page } = useNavigate();
+  const { user } = useAuth();
+
+  const id = page?.id || user?._id;
 
   useEffect(() => {
     get(`/users/${id}`).then(response => {
@@ -41,7 +43,7 @@ const ProfilePage: React.FC<PropTypes> = ({ id, navigate }) => {
         savedPolls={polls.length}
         totalVotes={totalVotes}
       />
-      <Feed polls={[...polls]} navigate={navigate} />
+      <Feed polls={[...polls]} />
     </>
   );
 };
-- 
cgit v1.2.3


From 5ccb1ec0be71ed4efb22b4942d70d9132415f69e Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Tue, 30 Jun 2020 00:43:48 +0300
Subject: style: fix some eslint errors

---
 src/pages/ProfilePage/ProfilePage.tsx | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

(limited to 'src/pages/ProfilePage/ProfilePage.tsx')

diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index 808d43a..d354a45 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -4,8 +4,8 @@ import { User, Poll } from 'which-types';
 import ProfileInfo from './ProfileInfo';
 import Feed from '../../components/Feed/Feed';
 import { get } from '../../requests';
-import { useAuth } from '../../hooks/useAuth'; 
-import { useNavigate } from '../../hooks/useNavigate'; 
+import { useAuth } from '../../hooks/useAuth';
+import { useNavigate } from '../../hooks/useNavigate';
 
 
 const ProfilePage: React.FC = () => {
-- 
cgit v1.2.3


From b31ed66aafbe1d5dbe70d0cdfd70864204510d81 Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Tue, 30 Jun 2020 01:27:39 +0300
Subject: fix: re-implement navigation logic

---
 src/pages/ProfilePage/ProfilePage.tsx | 36 +++++++++++++++++------------------
 1 file changed, 17 insertions(+), 19 deletions(-)

(limited to 'src/pages/ProfilePage/ProfilePage.tsx')

diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index d354a45..ca39746 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -12,28 +12,26 @@ const ProfilePage: React.FC = () => {
   const [userInfo, setUserInfo] = useState<User>();
   const [polls, setPolls] = useState<Poll[]>([]);
   const [totalVotes, setTotalVotes] = useState<number>(0);
-  const { page } = useNavigate();
+  const { page, navigate } = useNavigate();
   const { user } = useAuth();
 
-  const id = page?.id || user?._id;
-
-  useEffect(() => {
-    get(`/users/${id}`).then(response => {
-      setUserInfo(response.data);
-    });
-  }, [id]);
-
   useEffect(() => {
-    get(`/profiles/${id}`).then(response => {
-      setPolls(response.data);
-      setTotalVotes(response.data.reduce(
-        (total: number, current: Poll) => {
-          const { left, right } = current.contents;
-          return total + left.votes + right.votes;
-        }, 0
-      ));
-    });
-  }, [id, userInfo]);
+    const id = page?.id || user?._id
+    if (id) {
+      get(`/users/${id}`).then(response => {
+        setUserInfo(response.data);
+      });
+      get(`/profiles/${id}`).then(response => {
+        setPolls(response.data);
+        setTotalVotes(response.data.reduce(
+          (total: number, current: Poll) => {
+            const { left, right } = current.contents;
+            return total + left.votes + right.votes;
+          }, 0
+        ));
+      });
+    } else navigate('auth');
+  }, [navigate, page, user]);
 
   return (
     <>
-- 
cgit v1.2.3


From e170d04d5d2c8c86d2683f3accb4feb2d94c881a Mon Sep 17 00:00:00 2001
From: eug-vs <eug-vs@keemail.me>
Date: Tue, 30 Jun 2020 01:34:51 +0300
Subject: style: fix linting errors

---
 src/pages/ProfilePage/ProfilePage.tsx | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

(limited to 'src/pages/ProfilePage/ProfilePage.tsx')

diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index ca39746..2c18466 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -16,7 +16,7 @@ const ProfilePage: React.FC = () => {
   const { user } = useAuth();
 
   useEffect(() => {
-    const id = page?.id || user?._id
+    const id = page?.id || user?._id;
     if (id) {
       get(`/users/${id}`).then(response => {
         setUserInfo(response.data);
-- 
cgit v1.2.3