aboutsummaryrefslogtreecommitdiff
path: root/src/pages/FeedPage
diff options
context:
space:
mode:
Diffstat (limited to 'src/pages/FeedPage')
-rw-r--r--src/pages/FeedPage/FeedPage.tsx18
1 files changed, 5 insertions, 13 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>
);
};