import React, { useState, useEffect } from 'react'; import { IRevisionHasPageId } from '@growi/core'; import { useCurrentPageId } from '~/stores/context'; import { useSWRxPageRevisions } from '~/stores/page'; import loggerFactory from '~/utils/logger'; import { PageRevisionTable } from './PageHistory/PageRevisionTable'; import PaginationWrapper from './PaginationWrapper'; import { RevisionComparer } from './RevisionComparer/RevisionComparer'; const logger = loggerFactory('growi:PageHistory'); export const PageHistory = (): JSX.Element => { const [activePage, setActivePage] = useState(1); const { data: currentPageId } = useCurrentPageId(); const { data: revisionsData } = useSWRxPageRevisions(activePage, 10, currentPageId); const [sourceRevision, setSourceRevision] = useState(); const [targetRevision, setTargetRevision] = useState(); useEffect(() => { if (revisionsData != null) { setSourceRevision(revisionsData.revisions[0]); setTargetRevision(revisionsData.revisions[0]); } }, [revisionsData]); const pagingLimit = 10; if (revisionsData == null || sourceRevision == null || targetRevision == null || currentPageId == null) { return (
); } const pager = () => { return ( ); }; return (
{pager()}
); };