phanpy/src/pages/favourites.jsx

34 lines
873 B
React
Raw Normal View History

2024-08-13 09:26:23 +02:00
import { t, Trans } from '@lingui/macro';
import { useRef } from 'preact/hooks';
import Timeline from '../components/timeline';
import { api } from '../utils/api';
2023-02-03 14:08:08 +01:00
import useTitle from '../utils/useTitle';
const LIMIT = 20;
function Favourites() {
2024-08-13 09:26:23 +02:00
useTitle(t`Likes`, '/favourites');
2023-02-18 17:05:46 +01:00
const { masto, instance } = api();
const favouritesIterator = useRef();
async function fetchFavourites(firstLoad) {
if (firstLoad || !favouritesIterator.current) {
favouritesIterator.current = masto.v1.favourites.list({ limit: LIMIT });
}
return await favouritesIterator.current.next();
}
return (
<Timeline
2024-08-13 09:26:23 +02:00
title={t`Likes`}
id="favourites"
2024-08-13 09:26:23 +02:00
emptyText={`No likes yet. Go like something!`}
errorText={t`Unable to load likes.`}
2023-02-18 17:05:46 +01:00
instance={instance}
fetchItems={fetchFavourites}
/>
);
}
export default Favourites;