import React, { useEffect, useCallback, useState } from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import Page from './PageList/Page'; import { withUnstatedContainers } from './UnstatedUtils'; import AppContainer from '../services/AppContainer'; import PageContainer from '../services/PageContainer'; import PaginationWrapper from './PaginationWrapper'; const PageList = (props) => { const { appContainer, pageContainer, t } = props; const { path } = pageContainer.state; const [pages, setPages] = useState(null); const [isLoading, setIsLoading] = useState(false); const [activePage, setActivePage] = useState(1); const [totalPages, setTotalPages] = useState(0); const [limit, setLimit] = useState(appContainer.getConfig().recentCreatedLimit); const [offset, setOffset] = useState(0); function setPageNumber(selectedPageNumber) { setActivePage(selectedPageNumber); setOffset((selectedPageNumber - 1) * limit); } const updatePageList = useCallback(async() => { const res = await appContainer.apiv3Get('/pages/list', { path, limit, offset }); setPages(res.data.pages); setIsLoading(true); setTotalPages(res.data.totalCount); setLimit(res.data.limit); setOffset(res.data.offset); }, [appContainer, path, limit, offset]); useEffect(() => { updatePageList(); }, [updatePageList]); if (isLoading === false) { return (