aboutsummaryrefslogtreecommitdiff
path: root/src/pages
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages')
-rw-r--r--src/pages/FeedPage/FeedPage.tsx18
-rw-r--r--src/pages/ProfilePage/ProfilePage.tsx6
2 files changed, 6 insertions, 18 deletions
diff --git a/src/pages/FeedPage/FeedPage.tsx b/src/pages/FeedPage/FeedPage.tsx
index 0b7d44a..8e7fb55 100644
--- a/src/pages/FeedPage/FeedPage.tsx
+++ b/src/pages/FeedPage/FeedPage.tsx
@@ -1,32 +1,24 @@
-import React, { useState, useEffect } from 'react';
+import React from 'react';
import { Poll } from 'which-types';
import { Container } from '@material-ui/core/';
import Feed from '../../components/Feed/Feed';
-import { get } from '../../requests';
import PollSubmission from './PollSubmission';
import { useAuth } from '../../hooks/useAuth';
+import { useFeed } from '../../hooks/APIClient';
const FeedPage: React.FC = () => {
- const [polls, setPolls] = useState<Poll[]>([]);
+ const { data, mutate } = useFeed();
const { isAuthenticated } = useAuth();
- useEffect(() => {
- get('/feed').then(response => {
- setPolls(response.data);
- });
- }, []);
-
const addPoll = (poll: Poll): void => {
- polls.unshift(poll);
- setPolls([]);
- setPolls(polls);
+ mutate([poll, ...data], true);
};
return (
<Container maxWidth="sm" disableGutters>
{isAuthenticated() && <PollSubmission addPoll={addPoll} />}
- <Feed polls={polls} />
+ <Feed polls={data} />
</Container>
);
};
diff --git a/src/pages/ProfilePage/ProfilePage.tsx b/src/pages/ProfilePage/ProfilePage.tsx
index 4769999..293b766 100644
--- a/src/pages/ProfilePage/ProfilePage.tsx
+++ b/src/pages/ProfilePage/ProfilePage.tsx
@@ -15,11 +15,7 @@ const ProfilePage: React.FC = () => {
const { user } = useAuth();
const { data: userInfo, mutate: setUserInfo } = useUser(username);
- const { data: polls, mutate: fetchPolls } = useProfile(userInfo?._id);
-
- useEffect(() => {
- fetchPolls();
- }, [userInfo, fetchPolls])
+ const { data: polls } = useProfile(userInfo?._id);
useEffect(() => {
if (!username) {