import { debounce } from 'lodash'; import React from 'react'; import { defineMessages, FormattedMessage, useIntl } from 'react-intl'; import { fetchBookmarkedStatuses, expandBookmarkedStatuses } from 'soapbox/actions/bookmarks'; import StatusList from 'soapbox/components/status_list'; import SubNavigation from 'soapbox/components/sub_navigation'; import { Column } from 'soapbox/components/ui'; import { useAppSelector, useAppDispatch } from 'soapbox/hooks'; const messages = defineMessages({ heading: { id: 'column.bookmarks', defaultMessage: 'Bookmarks' }, }); const handleLoadMore = debounce((dispatch) => { dispatch(expandBookmarkedStatuses()); }, 300, { leading: true }); const Bookmarks: React.FC = () => { const dispatch = useAppDispatch(); const intl = useIntl(); const statusIds = useAppSelector((state) => state.status_lists.get('bookmarks')!.items); const isLoading = useAppSelector((state) => state.status_lists.get('bookmarks')!.isLoading); const hasMore = useAppSelector((state) => !!state.status_lists.get('bookmarks')!.next); React.useEffect(() => { dispatch(fetchBookmarkedStatuses()); }, []); const handleRefresh = () => { return dispatch(fetchBookmarkedStatuses()); }; const emptyMessage = ; return (
handleLoadMore(dispatch)} onRefresh={handleRefresh} emptyMessage={emptyMessage} divideType='space' />
); }; export default Bookmarks;