import { FC, useEffect, useState } from 'react'; import { Col, Pagination, Row } from 'antd'; import { Follower } from '../../../../interfaces/follower'; import { SingleFollower } from '../SingleFollower/SingleFollower'; import styles from '../SingleFollower/SingleFollower.module.scss'; export const FollowerCollection: FC = () => { const ENDPOINT = '/api/followers'; const ITEMS_PER_PAGE = 24; const [followers, setFollowers] = useState([]); const [total, setTotal] = useState(0); const [page, setPage] = useState(1); const pages = Math.ceil(total / ITEMS_PER_PAGE); const getFollowers = async () => { try { const response = await fetch(`${ENDPOINT}?page=${page}`); const data = await response.json(); const { results, total: totalResults } = data; setFollowers(results); setTotal(totalResults); } catch (error) { console.error(error); } }; useEffect(() => { getFollowers(); }, []); useEffect(() => { getFollowers(); }, [page]); const noFollowers = (
A message explaining how to follow goes here since there are no followers.
); if (!followers?.length) { return noFollowers; } return (
{followers.map(follower => ( ))} { setPage(p); }} hideOnSinglePage />
); };