phanpy/src/pages/bookmarks.jsx

34 lines
883 B
React
Raw Normal View History

2024-08-13 15:26:23 +08: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 21:08:08 +08:00
import useTitle from '../utils/useTitle';
const LIMIT = 20;
function Bookmarks() {
2024-08-13 15:26:23 +08:00
useTitle(t`Bookmarks`, '/bookmarks');
2023-02-19 00:05:46 +08:00
const { masto, instance } = api();
2023-01-21 20:21:16 +08:00
const bookmarksIterator = useRef();
async function fetchBookmarks(firstLoad) {
2023-01-21 20:21:16 +08:00
if (firstLoad || !bookmarksIterator.current) {
bookmarksIterator.current = masto.v1.bookmarks.list({ limit: LIMIT });
}
return await bookmarksIterator.current.next();
}
return (
<Timeline
2024-08-13 15:26:23 +08:00
title={t`Bookmarks`}
id="bookmarks"
2024-08-31 22:55:23 +08:00
emptyText={t`No bookmarks yet. Go bookmark something!`}
2024-08-13 15:26:23 +08:00
errorText={t`Unable to load bookmarks.`}
2023-02-19 00:05:46 +08:00
instance={instance}
fetchItems={fetchBookmarks}
/>
);
}
export default Bookmarks;