import React, { FC } from 'react'; import { useTranslation } from 'react-i18next'; type SearchResultMeta = { took?: number, total?: number, results?: number } type Props = { SearchControl: React.FunctionComponent, SearchResultList: React.FunctionComponent, SearchResultContent: React.FunctionComponent, searchResultMeta: SearchResultMeta, searchingKeyword: string, pagingLimit: number, activePage: number, onPagingLimitChanged: (limit: number) => void } const SearchPageLayout: FC = (props: Props) => { const { t } = useTranslation(''); const { SearchResultList, SearchControl, SearchResultContent, searchResultMeta, searchingKeyword, pagingLimit, activePage, } = props; const renderShowingPageCountInfo = () => { if (searchResultMeta.total == null || searchResultMeta.total === 0) return; const leftNum = pagingLimit * (activePage - 1) + 1; const rightNum = (leftNum - 1) + (searchResultMeta.results || 0); return {`${leftNum}-${rightNum}`} / {searchResultMeta.total || 0}; }; return (
{t('search_result.result_meta')} {`"${searchingKeyword}"`} {/* Todo: replace "1-10" to the appropriate value */} {renderShowingPageCountInfo()}
); }; export default SearchPageLayout;